量化交易学习(二十)掘金量化linux sdk安装使用

今天来介绍一下掘金量化linux sdk的安装及使用。为啥要在linux上跑呢,原因是linux下开发和调试代码比较方便,也容易搭建自己的基础设施。

我是在一台全新安装 ubuntu 22.04 的虚拟机上安装掘金量化sdk的。

官方的安装说明如下:

如何使用 Linux 版本的 python SDK?

在Linux环境安装 gm sdk ,执行命令行python -m pip install gm -i https://pypi.tuna.tsinghua.edu.cn/simple。

SDK 需要和掘金终端通信, 但是掘金终端只有 Windows 版本, 所以策略需要指向 windows 终端。

需要在策略里指定 终端IP,策略 run()的 serv_addr 设置为‘Windows IP:7001’。

首先执行 sudo apt install python-is-python3 ,这样直接在终端输python就会调用python3了。

接着执行sudo apt install python3-pip 安装pip

最后执行pip install gm -i https://pypi.tuna.tsinghua.edu.cn/simple安装掘金sdk

安装好后,运行一个简单的策略看看能不能用。

首先打开掘金量化,创建一个新的空策略
174728d468c4b413bfb0e3aa09dbc766.png

然后在我们的linux系统下创建一个test文件夹,在test文件夹中创建一个main.py文件,点击下图中的【复制代码按钮】,之后把复制的代码粘贴到main.py中。
31d68d17034fc8fa429c8263f25a6f5c.png

这里要注意,如果想用掘金量化的sdk进行回测和仿真,必须有策略id和token。如果只下载数据的话只用token就够了。

一般为了方便,都是先在掘金量化软件里创建空策略,然后复制到自己的编辑器里进行修改。

下面的代码在空策略的基础上,在run函数里把serv_addr指向了windows电脑的ip,加上了订阅SHSE.600000的日线数据并打印的功能逻辑,用于检验在linux下能否跑通掘金sdk。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# coding=utf-8
from __future__ import print_function, absolute_import
from gm.api import *


# 策略中必须有init方法
def init(context):
subscribe(symbols='SHSE.600000', frequency='1d')

def on_bar(context, bars):
bar=bars[0]
print(bar.symbol,bar.open,bar.high,bar.low,bar.close)

if __name__ == '__main__':
'''
strategy_id策略ID, 由系统生成
filename文件名, 请与本文件名保持一致
mode运行模式, 实时模式:MODE_LIVE回测模式:MODE_BACKTEST
token绑定计算机的ID, 可在系统设置-密钥管理中生成
backtest_start_time回测开始时间
backtest_end_time回测结束时间
backtest_adjust股票复权方式, 不复权:ADJUST_NONE前复权:ADJUST_PREV后复权:ADJUST_POST
backtest_initial_cash回测初始资金
backtest_commission_ratio回测佣金比例
backtest_slippage_ratio回测滑点比例
'''
run(strategy_id='yyyyyyyy',
filename='main.py',
serv_addr='192.168.0.102:7001',
mode=MODE_BACKTEST,
token='xxxxxxxxxx',
backtest_start_time='2020-11-01 08:00:00',
backtest_end_time='2020-11-10 16:00:00',
backtest_adjust=ADJUST_PREV,
backtest_initial_cash=10000000,
backtest_commission_ratio=0.0001,
backtest_slippage_ratio=0.0001)

运行的结果如下:

5409aabed246fc5118a9270d7b5a9adc.png

sdk安装成功了。


这一篇就到这里啦。欢迎大家点赞、转发、私信。还没有关注我的朋友可以关注 江达小记

江达小记