如何用python建立策略
手把手教你使用京东量化平台完成简单的策略回测-Python篇
今天来教大家使用量化平台中Python的部分,完成一个简单的策略回测。
首先,回测界面是长这个样子的
可以看到,左半边的大部分区域是编辑代码的地方,开发环境会自动识别Python语言的关键词。在代码区上面的设置标志里面可以个性化调节开发环境的视觉效果。
Python的回测代码主要包括init()函数,handle_data()函数,以及其他用户自定义内容。如果在每天开盘前要进行额外的处理或计算,可选择添加before_trade()函数。
def init(context):
# 这里用来写策略开始时要做什么
def before_trade(context):
# 非强制,在这里写每天开盘之前要做什么,不可下单
def handle_data(context, data_dict):
# 这里用来写每天开盘后要做什么,可以是计算,输出日志,或者下单
其中,init()是初始化函数,可以设置基准,滑点,佣金等回测参数,也可以利用context自定义变量。在Python及大部分其他编程语言中,在局部变量只在该变量定义的函数体有效,在其他函数体内是无效的。而context被定义为一个局部变量,可以把内容在不同函数代码之间传导。该函数在回测开始时运行一次。
handle_data()是每个交易时间点(分钟/日)时自动运行一次的函数,可以在此函数内设置交易判断和下单,是策略核心逻辑所在。
用户可以按照Python语言规则定义其他函数,包括运算/数据处理函数,也可以通过task()函数设置自定义函数的执行频率和执行时间。
接下来,我们用一个简单的策略来演示这个过程。我们策略的内容是对平安银行(000001.SZ)进行择时,如果前一天收益率大于中证全指收益率,则买入持仓,反之则不持仓。
首先,我们在init()函数里面设置我们的股票和比较的标的:
# init方法是您的初始化逻辑。context对象可以在任何方法之间传递。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!