supermind logo
同花顺logo
  • 首页
  • 我的策略
    策略创作
    • 策略研究
    • 指标策略
    • 策略监控
    • 策略库
    因子研究
    • 因子策略
    • 因子检测
    • 因子库
    • 绩效分析
  • 我的研究
  • 实盘交易
    • python策略模拟
    • 指标策略模拟
    • 同花顺智能交易
  • 社区
  • 帮助
    • 本地SDK
    • API文档
    • 因子研究
    • 模拟仿真
    • 回测引擎
    • 研究环境
    • 常见问题
  • 数据
因子数据产品

1 同花顺因子产品使用说明书

1.1 因子库产品的权限开通

本产品为付费产品,请联系同花顺销售经理,先开通权限。

1.2 因子产品SFTP账号获取

开通账号后,点击下方链接 进行登录:
https://quant.10jqka.com.cn/view/factorserver

55958fb222da67b094b7f158d7bddbb7.png

请您先确定是否有固定IP:

【我有固定公网IP】
只有在第二个步骤配置的特定IP才能访问数据,需要有固定的公网IP,请您确认您的公网IP是固定的(一般需要找运营商采购该服务才会开通固定IP),才选择这个模式。 该模式安全级别较高,建议有公网IP的企业选择。

【没有固定的公网IP】
如果您的公网IP是动态的,就是没有固定的公网IP,该模式下只需要SFTP账号和私钥即可访问SFTP,注意保管好您的SFTP账号和私钥。

因子产品使用说明。

1.3 因子产品如何使用?

我们会提供SFTP地址,可以通过命令行或者客户端的方式进行访问,以下提供了常见访问方式的教程。

SFTP(Secure File Transfer Protocol),即安全文件传输协议,是一种内置于 SSH 中的协议,所以他非常灵活且安全性很强。适用于各种类型的服务器获取数据。

1.3.1 使用WinSCP可视化下载数据(简单推荐、仅支持Win系统)

有许多SFTP客户端可供选择,这些客户端提供了图形界面,使文件传输变得更加直观和简单。以下是一些流行的SFTP客户端:

  • 平台:Windows

  • 描述:WinSCP是一个免费的SFTP、SCP、FTP和WebDAV客户端。它拥有一个图形用户界面和一个命令行界面。

  • 如何使用?

    • 下载:下载地址:https://winscp.net/eng/download.php

    • 安装:运行---接受---完整升级(下一步)---安装

      fa4eee28cc5faf22750eb54289ddb563.png

      d9d61c2f251f543a64e7a9cb11210530.png

      ac30c8fb48d3b3e8aaeccddb19cc6bfc.png

    • Winscp配置sftp

      打开远程标签页
      1df241e3edcf42a181442798b703e0e5.png

    • 配置站点信息:

    选择文件协议:SFTP

    主机名:填写同花顺SFTP域名地址(请找销售开通权限后 登录 https://quant.10jqka.com.cn/view/factorserver 获取)
    端口:2022
    用户名:sftp 账号
    高级: SSH—验证---导入密钥文件**(固定IP访问模式的用户不用添加密钥,密钥文件请联系销售开通权限后在 https://quant.10jqka.com.cn/view/factorserver 获取)**

    d397512ab5aa9e76901cfe2094f9d606.png

  • 填写主机名、SFTP账号、和端口号(密钥方式登录无需密码)

f0f5fc3935a725db412b52245deb3ef5.png

  • (密钥方式登录才需要)点击高级
    f7a4e92ccab1c97335a9dd67198b89da.png
  • (密钥方式登录才需要)点击验证:
    2a5e0142c20d3074c9d67c925a9f1399.png
  • (密钥方式登录才需要)点击密钥文件右侧 ··· :
    a75a26437d6a72fc543f7b435d27eca6.png
  • (密钥方式登录才需要)选择 所有文件:
    7f590bd6f9472c12501593e4b6028990.png
  • (密钥方式登录才需要)选择拿到的 密钥文件:
    f925b1ec1ba9be99dfaf057c044d0f50.png
  • (密钥方式登录才需要)点击确定:
    bac04a341efc0678084cbe9bd0a5e793.png
  • (密钥方式登录才需要) 选择一个地方存放生成的 .ppk 格式的密钥:
    e20ced91d921b47e9e00cca570eb2faa.png
  • (密钥方式登录才需要)点击确定:
    838254bf2967cc51953c5cf3afc85f8e.png
  • (密钥方式登录才需要)点击确定:
    ffb949282164d7edd1fe730a9126fe56.png
  • 点击保存
    ecbdf4a869f900ccc64f9c9886c0d54e.png
  • 点击登录
    f601ca544f46b90f00f49b68db394429.png
  • 看到文件夹之后 表明登录成功:
    85ade019adae53b60325915dbca0c597.png
1.3.1.1 如何使用WinSCP自带的增量同步功能(脚本):

先确保登录Winscp,然后进行下面操作。

1.根据程序生成如下相应代码
登录Winscp的账号后右键该标签 会出现一个菜单:
点击【生成会话URL/代码】

c1cc4022a848f1efd1382333bb7e7a42.png

点击脚本 格式选择 脚本文件 点击【复制到剪贴板】

3eea1d06937d2e93601d1bf28f716f6f.png

以下为复制出来的命令行:

open sftp://simufactor_****@thsfactor.forfunds.cn:2022/ -hostkey="ssh-ed25519 255 0js5********************Qo3Ug" -privatekey="E:\factor\key1107\pem key\privatekey.ppk" -rawsettings ConsiderDST=0

# 你的命令1
# 你的命令2

exit

# 使用类似命令执行脚本:
# "C:\Program Files (x86)\WinSCP\WinSCP.exe" /log="C:\writable\path\to\log\WinSCP.log" /ini=nul /script="C:\path\to\script\script.txt"

2.在上一步复制出来的命令行中 加入同步命令

同步远程到本地命令:synchronize local [本地目录] [远程目录]
比如我希望把远程目录的 /realtime 的所有文件 增量更新同步到本地的 E:\factor\sync-script\realtime 文件:

synchronize local E:\factor\sync-script\realtime /realtime

把这个命令放到中间:
8c876a3825762115e2e7d7f8c05c6999.png
c68bd27fd3b8276c4e154354f8134a7d.png

最终变成:

open sftp://simufactor_WWWWWDDDDD@thsfactor.forfunds.cn:2022/ -hostkey="ssh-ed25519 255 6v/S+uUL7W32tb7Oy+2vw5kJTJNcOmxhl9iJB9YUnF8" -privatekey="E:\factor\key1107\pem key\privatekey.ppk" -rawsettings ConsiderDST=0 synchronize local E:\factor\sync-script\realtime /realtime exit

把上面代码保存成 run.bat
9b33c55339a7492883da36d0c23e7f43.png

3.在命令行执行脚本
脚本调用了 WinSCP.exe 来执行 run.bat 脚本,
(WinSCP.exe 的安装目录可能会不一样 要找到你的安装目录下的WinSCP.exe 的路径)

"C:\Program Files (x86)\WinSCP\WinSCP.exe" /log="E:\factor\sync-script\WinSCP.log" /ini=nul /script="E:\factor\sync-script\run.bat"

在命令行中执行该命令:
a2d2d4c785065c8f147e7b95fc9756af.png

执行后会把log日志打印在WinSCP.log 这个文件夹下,所以请到这个log文件内进行查看运行情况:
32e4c22377c0f9cb2ceff75b9165d8f5.png

可能会出现密钥不符合的报错:
78853366367962dab0bc082c37e68386.png

把日志中的正确的密钥替换到 run.bat 中的 hostkey 后即可:
cca1f1954a61a93d2231beca3c3867fb.png

其他更多的脚本命令用法 请参考官方文章:
https://winscp.net/eng/docs/guide_automation
https://winscp.net/eng/docs/task_synchronize_full
https://winscp.net/eng/docs/scriptcommand_synchronize

如果想每天自动执行WINSCP自动同步脚本 达到每天自动同步因子文件到本地的效果请看下一小节。

1.3.1.2 WINDOWS 下如何每天自动执行WINSCP自动同步脚本?

备注:您也可以通过其他方式定时运行同步脚本达到每日同步的效果。

打开任务计划程序:
673c644fc7395439b4595498a8fcef35.png

点击【创建基本任务】
0bbdd2f26978b62dae0b63d818e23feb.png

填写名称和描述,点击【下一步】:
9fae39b05e33403daa01830666ef8aad.png

选择每天:
637616ecc2c35bede85bc5a357c17db2.png

填写开始时间,建议选择在6点, 每隔 1天,点击下一步:
52192c2690ead73eefe4f0da289bd786.png

选择【启动程序】
25bd7433ea001150e259df23bb03cd1d.png

把上小节中最后的执行脚本复制到这里,点击下一步:
108b467b99dccaa7b7e6fccafdfb35e8.png

上一小节的第3步的执行脚本(举例):

"C:\Program Files (x86)\WinSCP\WinSCP.exe" /log="E:\factor\sync-script\WinSCP.log" /ini=nul /script="E:\factor\sync-script\run.bat"

点击【是】
211c501b2b0c5be55b4d4ee7089d5f12.png

点击【完成】就算创建完成:
7aa841f14a8423dc4d4c8087defa6d1b.png

为确保万无一失,我们再进行一些小配置:
选中我们刚才添加的定时任务,之后点击属性:
db5a7cd75b7e0f193f1debdab779f516.png

选择【不管用户是否登录都要运行】 和 勾选【使用最高权限运行】,点击确定。
17d42ba9f1a85d6d9c736603d4cbbacf.png

验证是否配置正确:
选择刚才创建的定时任务,点击运行:
0de88d2183ce3f72721afb6b79b48c38.png

查看运行日志:
7fcd487c86e1b357980eeb9dbdbfa377.png

一切正常。
27e0818fba018d3b63bfc987b58a510a.png

可能会出现密钥不符合的报错:
78853366367962dab0bc082c37e68386.png

把日志中的正确的密钥替换到 run.bat 中的 hostkey 后即可:
cca1f1954a61a93d2231beca3c3867fb.png

1.3.2 使用Xshell下载SFTP数据(支持Win/Linux、支持登录远程服务器进行命令行操作)

1.3.2.1 首先建立链接
  • 到官网进行下载。
  • 点击文件-点击 新建:

027379ba60d9e49ec79db6fba3f54c4d.jpg

连接常规填写:

  • 主机:SFTP服务地址 (请联系销售开通账号权限后登录 https://quant.10jqka.com.cn/view/factorserver 获取主机地址)
  • 协议选择:SFTP
  • 填写端口号:2022

d98e0e0e04cf7d527fb39ebe14aee17b.jpg

用户身份验证:

  • 点击【用户身份认证】
  • 方法选择:Public Key
  • 点击设置按钮
  • 导入用户密钥文件 (如果是固定IP用户不需要导入。如果非固定IP模式需要先到后台下载密钥再导入)

6296b008c5b3cd81a95d0d77f5cfcaf9.jpg

1056db91f7121272a2448ad336f53800.jpg

  • 选择下载的密钥文件:

e54ce18b4f155076c1f982d0ad0bebb5.jpg

  • 点击确定:

fa423807ca62b62ede38dc4084f5855f.jpg

  • 点击确定(无需填写这部的密码):

b7f2894bb8dec5b318182d29d47da7f3.jpg

  • 填写SFTP用户名
  • 填写SFTP密码(有密钥的账号 不需要填写密码):

bdf93ba005b62966471b0dfc2f1c935a.jpg

  • 选择接受并保存方便后续使用:

ad9d5fa34d3b875829ed17f9730ee346.jpg

  • 然后就登录成功,可以使用SFTP的命令进行操作数据(见下一个小节):

1752321ca893d4aaa1cfd8a41f02d017.jpg

1.3.2.2 建立链接之后就可以使用以下命令行方式进行下载数据

适用于登录远程服务器,通过命令行把文件下载到远程服务器。

  1. 连接到SFTP服务器:
  • 无固定IP-使用秘钥方式:
    端口号、秘钥文件、域名:请先找同花顺销售顾问开通账号后登陆: https://quant.10jqka.com.cn/view/factorserver 获取。
sftp -i /privatekey.pem -P 2022 simufactor_WWWWWDDDDD@thsfactor.forfunds.cn.

注意 privatekey.pem 是后台下载的秘钥文件路径。

ff1c18d986d3bfe2a1747c03b5ede925.png

  • 有固定IP登录方式
    端口号、域名:请先找同花顺销售顾问开通账号后登陆 https://quant.10jqka.com.cn/view/factorserver: 获取。
sftp -P [端口号] [用户名]@[主机名或IP地址]
sftp -P 2022 simufactor_WWWWWDDDDD@thsfactor.forfunds.cn.

207aab5ad26cad7ab03844445a43c47b.png

sftp -P [端口号] [用户名]@[主机名或IP地址]

端口号、IP:请询问顾问索要获取方式 可能会变化 请找销售顾问进行确认。
如果是秘钥方式登录 用以下命令:

sftp -i /data/private.pem -P [端口号] [用户名]@[主机名或IP地址]

通过-i 来指定秘钥文件地址即可。

  1. 浏览远程服务器的文件:

    • ls: 列出远程服务器当前目录下的文件。
  2. 下载文件:

    • get [远程文件] [本地路径]: 下载远程文件到本地。如果不指定本地路径,文件将被下载到你当前的工作目录。

    例如:

    get remote_file.txt local_directory/remote_file.txt
    
  3. 下载整个目录:

    • get -r [远程目录] [本地路径]: 递归地下载远程目录到本地。

    例如:

    get -r remote_directory local_directory/remote_directory
    
  4. 断开连接:

    • 输入 exit 或 bye 来退出SFTP。

记得,每次使用 get 命令时,都确保有足够的磁盘空间来保存要下载的文件或目录。

SFTP 命令行一览:

sftp> help
Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
chgrp [-h] grp path                Change group of file 'path' to 'grp'
chmod [-h] mode path               Change permissions of file 'path' to 'mode'
chown [-h] own path                Change owner of file 'path' to 'own'
copy oldpath newpath               Copy remote file
cp oldpath newpath                 Copy remote file
df [-hi] [path]                    Display statistics for current directory or
                                   filesystem containing 'path'
exit                               Quit sftp
get [-afpR] remote [local]         Download file
help                               Display this help text
lcd path                           Change local directory to 'path'
lls [ls-options [path]]            Display local directory listing
lmkdir path                        Create local directory
ln [-s] oldpath newpath            Link remote file (-s for symlink)
lpwd                               Print local working directory
ls [-1afhlnrSt] [path]             Display remote directory listing
lumask umask                       Set local umask to 'umask'
mkdir path                         Create remote directory
progress                           Toggle display of progress meter
put [-afpR] local [remote]         Upload file
pwd                                Display remote working directory
quit                               Quit sftp
reget [-fpR] remote [local]        Resume download file
rename oldpath newpath             Rename remote file
reput [-fpR] local [remote]        Resume upload file
rm path                            Delete remote file
rmdir path                         Remove remote directory
symlink oldpath newpath            Symlink remote file
version                            Show SFTP version
!command                           Execute 'command' in local shell
!                                  Escape to local shell
?                                  Synonym for help

1.3.3 使用XFTP可视化下载数据

下载地址:
https://www.xshell.com/zh/xftp/
独立的XFTP或Xshell中的XFTP也可以。

点击绿色的Icon:

dfa826557feddfef20fd3e2bc075aae6.png

点击新建:
a78c5bb54648db99c479156579b6755b.png

  • 在后台选择【有固定IP】的请按照以下操作:
    b0c51a242ce0f7cfd9bcb72a6c12fb24.png

输入以下信息:

名称:自定义方便自己记忆
主机地址:从您的因子网页获取
协议选择:SFTP(注意不是FTP)
端口号:2022
登录中的方法:选择Password
用户名:从您的因子网页后台获取
密码:从您的因子网页后台获取

然后点击连接即可登录成功:
e117e2c092739f87dac8c03dc22ec00e.png

  • 在后台选择【无固定IP】的请按照以下操作:
    9f7b91a7df52994d6c1d1438f0a34ebc.png

输入以下信息:

名称:自定义方便自己记忆
主机地址:从您的因子网页获取
协议选择:SFTP(注意不是FTP)
端口号:2022
登录中的方法:选择Public Key
用户名:从您的因子网页后台获取
密码:无需密码

点击 用户秘钥右侧的 浏览
5a0c1dec3fcf1559cca8c55819271cc4.png
选择导入:
486304286dc4bafdadc4e1cc288dd6ac.png
导入从因子后台下载的秘钥文件:
91d0605306378f7384c200a9988a7eae.png
看到出现这个表示导入成功,点击关闭:
753744457410f2d9f2a689cc5b9f014e.png
点击链接:
8cd7cfd69dab5c0a94a5d2c62a74b9b8.png
然后就能看到SFTP的文件:
e117e2c092739f87dac8c03dc22ec00e.png

XFTP还有个下载加速的功能,按照以下方式开启:
在登录信息填写界面,点击设置:
e4624f1ffdfdee0609aa1b2d82f1c553.png
点击使用ZLIB压缩,点击确定:
986df5af4f0f930a570370014b660348.png

1.3.4 使用Git Bash命令行方式登录并下载数据

登录

  • 无固定IP-使用秘钥方式:
sftp -i /privatekey.pem -P 2022 simufactor_WWWWWDDDDD@thsfactor.forfunds.cn.

注意 privatekey.pem 是后台下载的秘钥文件路径。

ff1c18d986d3bfe2a1747c03b5ede925.png

  • 有固定IP登录方式
sftp -P [端口号] [用户名]@[主机名或IP地址]
sftp -P 2022 simufactor_WWWWWDDDDD@thsfactor.forfunds.cn.

207aab5ad26cad7ab03844445a43c47b.png

下载整个history文件夹(在根目录的情况下:

get -r history/

7ef6f39ebb8c674815db66c631e16adb.png

常用命令:lcd path
切换本机的目录(下载数据的地址)

1.4 因子库的目录结构:

root

  • history (包含所有因子的 t-2 之前的所有数据 按年存储)
    f62d107328cd75e38d1fa017d0d38c1b.png
  • realtime (包含有权限因子的 t 和t-1 的所有数据)
    801bf02499447fd16f9fc17b86cad4f6.png
    364ccca6668b0554ccad485fa22bcfe9.png

备注:服务端文件编码格式为 UTF-8 如果客户端编码格式不一致 会导致乱码。确保客户端格式也是UTF-8

1.5 常见问题

1.5.0 我用其他支持SSH的客户端 可以下载么?

支持。
SFTP本质上是SSH协议,所以理论上任何支持SSH协议的终端都是可以试用sftp命令的,比如MobaXterm、OpenSSH等。

1.5.1 如何下载数据比较方便?

建议按照文件夹进行下载 会方便一点。不用一个一个文件进行下载。

数据量一共是多大?

history 数据共计100G多一点。

数据下载中断 又要重新下载怎么办?

建议使用 winscp的 【同步】功能。这样因各种原因导致的断线,都可以继续下载不用重新从头下载。

1.5.2 如何合并多个文件?

用Excel自带的功能即可:

先把要合并的文件放在一个文件夹内如 示例中我以2019年的某个因子举例 把2019年的该因子数据都准备好放到一个文件夹:

0a5b4e620691319f1987669813723674.jpg

04425a35656c391b290de9180c1022b5.jpg

打开Excel 选择数据-选择获取数据- 选择来自文件-选择从文件夹:

d9401c29eec430a590cff8b6343667fb.jpg

选择刚才准备好的数据文件夹:

0a5b4e620691319f1987669813723674.jpg

点击组合- 点击合并和加载:

6bff06549a691a7748431ef970b582d8.jpg

就可以看到数据加载到一个excel内了:

c43097636189e8842436f814dcfd488b.jpg

然后接下来就可以通过excel 的数据筛选功能 进行筛选 和画图了:

1fb2ff366ebd874500c913bf03b230a0.jpg

1.5.3 下载速度一般是多少?

使用WINSCP下载的速度是1~2M左右,根据您的带宽和下载机器的配置有一定的关系

1.5.4 数据更新时间是怎么样的?

新闻类的凌晨五点半左右更新,其他每天晚上九点半左右更新

1.5.5 为什么下载文件的时候成功一个失败一个,时好时坏?报错返回的是断连?

很大可能是您的IP是动态IP,但是您选择了固定IP模式进行访问SFTP,这样就会导致时好时坏。建议使用秘钥方式进行访问。

1.5.6出现:“警告 - 有潜在安全风险” 提示该怎么办?

可能由于您的IP变动,导致服务器密钥核对不上,点击【添加】即可。

4e5bb3424a65388b289ec3d58f311546.png

上一节
下一节
编组 4

回到

顶部