掘金社区
context对象的data()方法获取到的收盘价,有时是复权的有时不是。例如以下例子:
# coding=utf-8
from __future__ import print_function, absolute_import
from gm.api import *
def init(context):
# 从14:10起至14:15,每隔1分钟抓取一次迪瑞医疗的股价并和前一分钟的进行比较
subscribe(symbols="SZSE.300396", frequency='60s', count=2)
def on_bar(context,bars):
for bar in bars:
data=context.data(symbol=bar.symbol, frequency='60s', count=2, fields='symbol,close,eob')
print(data)
if __name__ == '__main__':
run(strategy_id='???',
filename='main.py',
mode=MODE_BACKTEST,
token='???',
backtest_start_time='2019-05-22 14:10:00',
backtest_end_time='2019-05-22 14:15:00')
这里,既然选择前复权,我希望得到17左右的股价,但是却得到78的股价
17是前复权的数
78是后复权的数
评论: 4
-
您好, 可能是回测参数设置的页面不生效,可以在run()里设置,使用已有回测参数
-
@技术支持1
选择“使用已有回测参数”后,代码中直接包含参数如下,但是问题并没有解决。运行结果仍然是首行17,第二行开始都是78。if __name__ == '__main__': run(strategy_id='????', filename='main.py', mode=MODE_BACKTEST, token='????', backtest_start_time='2019-05-22 14:10:00', backtest_end_time='2019-05-22 14:15:00', backtest_adjust=ADJUST_PREV, # 为了股价连贯性,我需要使用“前复权” backtest_initial_cash=20000, backtest_commission_ratio=0.00025)
-
@p8499 嗯,这是个bug, 会在下个版本修复
-
请问这个问题到底解决没有? @技术支持1