# Linux 版 功夫量化 上手指南
好吧,你果然就是传说中的 硬核大师,就要挑战高难度。那让我们开始 Linux 的 功夫量化 之旅吧。
要说用 Linux 版的优点:
首先逼格高嘛。(好吧,这一点跳过,虚头巴脑的没意思)
传说中 Linux 的速度比 Windows 更快一些,主要是因为没有图形界面的负担。其实今天的电脑 CPU 强大、内存 也大,这一丢丢性能不算个啥,但 心理感觉 重于 实际效果。(人类就是要有 体验感 嘛。好吧好吧,对对对。)
券商托管的机房服务器,安装 Linux 的比较多,因为免费、避免版权问题。与实际生产环境更接近。
要说 Linux 版的缺点:
上手难啊;用起来也不是很方便啊;
# O、 准备工作
如果你是从 登录 一个 Linux 服务器开始,并且此服务器上已经安装好了 功夫量化。则可以跳过本节。
功夫量化 建议的 Linux 版本是 CentOS 7.6 ,在网上的大厂镜像网站中找一个 CentOS-7-x86_64-Everything 的镜像文件即可。推荐如下:
| 站点 | 链接 |
|---|---|
| 华为云镜像源 | https://mirrors.huaweicloud.com/home |
| 清华源 | https://mirrors.tuna.tsinghua.edu.cn/ |
| 阿里云镜像源 | https://developer.aliyun.com/mirror/ |
| 中科大镜像源 | https://mirrors.ustc.edu.cn/ |
| 网易开源镜像站 | https://mirrors.163.com/ |
请注意,安装 CentOS 时,软件选择 这一步中,默认是 最小安装,这不是一个合适的选择!

请至少选择 “基础设施服务器” 及其下面的选择,是否需要 GUI 或 GNOME 桌面,由你自己的喜好决定。(必竟要逼格高,以后都是在小黑窗口中用指令操作嘛。用图形界面 Low 了。/狗头)

强烈建议同时准备好两个工具:
WinSCP ———— 用来传送文件,实现上传下载功能;
putty/Xshell ———— 二选一即可,根据个人习惯喜好决定吧。联接 Linux 的小黑窗口指令行工具;
# 一、 安装
在实际工作中,券商托管的服务器,CentOS 是安装之后交付给你的,同时也可以要求他们把 功夫量化 也安装好。用户只需远程登录即可开始使用。
但自己开发、测试时就需要自己准备好 CentOS 的服务器了。通常都是在本地开一个虚拟机,安装好 CentOS 7.6 的 基础设施服务器。然后自己安装 功夫量化。
完成了本地虚拟机的安装之后,当然是去官网下载 安装包 了。
www.kungfu-trader.com
强烈建议还是找券商的客户经理要一个 安装包 比较合适。因为各券商 与 功夫量化 合作,都会把自家的柜台接口事先写好,用起来方便。同时还根据自家的情况做过一些小小的修改,还有一些接口地址、帐户授权码、动态码之类的信息,也是需要券商提供的。如果自己摸索,那真是费时费力还不讨好。(你要是就喜欢解难题,那祝开心就好。)
功夫量化 官网的首页就有下载链接。

就在首页底部即可看到下载的按钮。

这次我们选择的是 Linux 版本。
下载后,会得到一个安装文件,如:
Kungfu-2.3.9-linux-cli-tora-08011241.rpm
WARNING
再次强烈建议:找券商的客户经理要一个 安装包 比较合适!本篇后续的示例,都来自 华鑫证券 的 功夫量化 安装包。
把这个 安装包 上传到虚拟机 CentOS 上吧,然后就可以联接 虚拟机 的小黑窗口了,如下图所示:
确认文件上传无误之后,即可用指令 yum install Kungfu-2.3.9-linux-cli-tora-08011241.rpm 来安装。
TIP
小技巧,在 Windows 中先 Ctrl+c 复制好文件名,然后在小黑窗口中按 Shift+Insert 即可完成粘帖操作,不然,一个字符一个字符的敲,手累眼花还容易敲错。

遇到此提示消息时,请输入 "y" ,表示 yes ,同意安装。之后程序会完成安装动作。

安装过程也不是很难嘛 ,对吧。(猩猩都会)
如果安装失败,这个就真的要寻求券商合作的 功夫量化 的技术支持人员的帮助了。自己想破头也难想出毛病在哪儿啊。
如果你不确定系统中是否已成功安装了 功夫量化,可以用以下指令检查一下:
rmp -q kungfu
如果返回信息为:
kungfu-2.3.9-1.x86_64
如上图所示的信息,则表示已经安装成功了。
# 二、 配置和运行
Linux 系统全程都是在 小黑窗口 中用指令操作的,这一点真的对普通用户来说太专业了,太不友好了。但是,没办法啊,只能向强大的势力低头。所以在开始之前,请尽可能把你的小黑窗口最大化,以便看到更多的信息。
# 1. 启动主界面
我们先让 功夫量化 运行起来,看看 Linux 系统中的 主界面 是什么样子,请跟随下面的步骤操作:
第一个指令是切换路径,即把当前路径,切换到 功夫量化 所在的文件夹中去。具体指令如下:
cd /opt/Kungfu/resources/kungfu-cli
第二个指令是开启 主界面,具体指令如下:
./kungfu-cli monit
最前面的句点和斜杠必须要输入,不能省。
现在,你看到的就是一个 Linux 系统中 功夫量化 的主界面了。(是不是很高大上,是不是很有科技感,是不是......好吧,吹不动了。)

这个主界面包括左右两个区域,左边是 进程列表,右边是 日志消息。因为是新装的 功夫量化,因此 进程列表 中的 主进程(MASTER) 都没启动。这时,可以用键盘上的 上下左右箭头键来控制高亮的选择条,选中 MASTER,然后按 回车键,即可启动 主进程 了。

# 2. 添加行情源MD
主进程 成功启动后,会看到 状态显示 为 绿色字符 Running 即表示正常了,同时右边区域的日志消息,也会显示消息。但此时,没有帐号,也没有接通任何行情源,这玩啥呢?玩个寂寞啊?
此时,就需要和你的客户经理联系了,需要:
1、模拟帐户,用于股票交易的帐户,如 8250000024757;
2、交易柜台地址(TD) 和 行情源地址(MD),类似于: tcp://180.167.75.1xx:77xx ;
3、帐户 授权码 ,类似
CkPomRqbxD7EFFrEFCUDA9wc83QtaSxcGsT+ ...... 这样的字符串;
4、帐户的动态码,类似 Mus652 这样的字符串;
有了这些信息,才能进行下一步。至于需要你提供什么作为交换条件,那就看你的客户经理爱你有多深了。
现在我们开始配置 功夫量化 吧,也就是接上 帐号(TD) 和 行情源(MD),就以 华鑫证券 的测试环境为例吧。请跟随以下操作:
如果你的小黑窗口还显示的是 主界面 ,请按一下 Ctrl+C 组合键退出,回到 指令行 的状态吧。
第一步,添加指令
./kungfu-cli add
回车后,会出现选择。这里可以用 上下箭头来移动光标箭头,这里我们选择 MD ,即 行情源,回车确认。
此时可以看到 华鑫证券 提供的 A股柜台名称为 "tora" ,移动箭头光标,选择它,回车。
接下来,输入你自己的帐户和密码。
这里是要求填写券商提供的 行情源 的地址,也就是 MD 地址,填写完成之后,回车。
如果看到 SUCCESS 的消息,即表示 行情源(MD),已添加成功了。
现在,我们再用指令 ./kungfu-cli monit 打开 主界面。可看到在左边区域的 进程列表 中,出现了新的一行 MD ,这时移动高亮条选中它,然后按回车,即可启动 行情源MD 进程,启动成功后可以看到 MD 的状态显示为“Ready”,右边区域的日志中也显示了“Login Sucess”(成功登录)的消息。

恭喜,添加的 行情源MD 已完全成功了。现在可以按 Ctrl+C 关闭主界面,回到 指令行 的状态了。
如果添加过程中出现了操作错误,比如地址填错了,帐户填错了。没关系,用以下指令 删除 即可:
./kungfu-cli remove
删除指令。执行后,再重复上述操作即可。
# 3. 添加柜台交易帐号TD
接下来,我们开始添加 柜台帐户TD。仍然是用 添加指令
./kungfu-cli add
对了,刚刚细心的朋友已经发现了,上次我们添加 行情源 的时候,选的是 MD 。这次我们要添加 柜台帐户,当然就要选 TD 罗。
接下来, 仍然选择 华鑫证券 提供的 A股柜台 "tora" ,回车。
接下来,输入你自己的帐户和密码。
这里是要求填写券商提供的 柜台帐号 的地址,也就是 TD 地址,填写完成之后,回车。
注意这一步,需要填写的是帐户的授权码。这个授权码是和你的帐号绑定的,由券商提供的。

接下来的这一步,是要求填写 帐户的动态码,这也是和你的帐号绑定的,由券商提供的。

这里是填写 沪市/深市利益相关者的帐号。如果没有就直接回车即可。

终于,看到 SUCCESS 的消息。这就表示 柜台帐号TD 的信息已经添加成功了。

现在,我们再次用指令 ./kungfu-cli monit 打开 主界面。可以看到在左边区域的 进程列表 中,又出现了新的一行 TD ,就是刚刚添加的 帐号。这时移动高亮条选中它,然后按回车,即可启动 柜台帐号TD 进程。启动成功后可以看到 TD 的状态显示为“Ready”,同时右边区域的日志中也显示了一些消息。

到此,柜台帐号TD 和 行情源MD 都已添加成功。Linux 系统的 功夫量化 安装过程已经基本完成了。恭喜!
# 4. 添加策略程序 strategy
众所周知,功夫量化 是为了跑策略程序的啊,这才把 行情源接上了,帐户接上了,策略还没添加呢?!
对,这才是重点。不然要 功夫量化 干嘛吃啊?所以,接下来,我们就来添加一个策略程序。
在 指令行 的状态,仍然是用 添加指令。
./kungfu-cli add
没错,刚刚有心的朋友已经留意到了,这个指令本来就有 3 个 选项,md、td 和 strategy ,这次我们就选这个 strategy,回车。
这一步是给策略起个名称,比如 test01 吧,然后回车
这里需要填写策略程序的入口文件的 绝对路径 + 文件名称,最后回车。
当看到 SUCCESS 的信息时,即表示策略添加成功了。

我们再次用指令 ./kungfu-cli monit 打开 主界面吧。可以看到,刚刚添加的 策略 已经显示在 左边区域的 进程列表中,请移动高亮条选中它,然后按回车,即可启动策略程序了。当程序状态为 Running 时,并且右边区域有日志信息打印输出,就说明一切OK了。

看到经典的 Hellow World ,程序猿们都秒懂了吧。到此,Linux 系统的 功夫量化 就全部安装完成了,接下来就是调试、运行程序的活儿了。
# 5. 日志文件
策略程序的日志文件,保存在用户目录的以下路径中:
/.config/kungfu/home/logview/20200912
/.config 是个隐藏的文件夹,因此访问时要注意其属性。(我一开始就找了半天没找着,一度怀疑眼瞎了。)

日志文件是日常工作中经常要用到的、重要的内容。DDDD(懂得都懂)
./kfc cli config , 选择 system , Update bypassArchive : 跳过归档
# 三、常用指令集
Linux 无非就是用 指令 的方式来执行程序,其实熟悉了也没什么太难、神秘的。从登录到服务器开始,到运行 主界面,常用的就那么几条指令,列表如下,以供参考:
| 编号 | 指令 | 功能说明 |
|---|---|---|
| 01 | cd /opt/Kungfu/resources/kungfu-cli | 切换路径到功夫的文件夹中 |
| 02 | ./kungfu-cli monit | 启动 主界面 |
| 03 | ./kungfu-cli add | 添加 MD、TD、和策略程序,都用这个指令 |
| 04 | ./kungfu-cli remove | 删除 MD、TD、和策略程序 |
| 05 | ./kungfu-cli shutdown | 关闭 功夫量化,建议每天收盘后手动关闭一次 |
| 06 | ./kungfu-cli clearJournal | 清理日志,建议每天收盘后手动执行一次 |
| 07 | ./kungfu-cli -h | 获取帮助信息 |
