# 双均线策略
# 策略逻辑:当五日均线与二十日均线金叉时买入,当五日均线与二十日均线死叉时卖出。
# 初始化函数,全局只运行一次
def init(context):
# 设置要操作的股票:贵州茅台
context.security = '600519.SH'
# 设置买卖条件,每个交易频率(日/分钟/tick)调用一次
def handle_bar(context, bar_dict):
# 获取股票过去20天的收盘价数据
closeprice = history(context.security, ['close'], 20, '1d', False, 'pre', is_panel=1)
# 计算20日均线
MA20 = closeprice['close'].mean()
# 计算5日均线
MA5 = closeprice['close'].iloc[-5:].mean()
# 如果5日均线大于20日均线,则全仓买入股票
if MA5 > MA20 :
# 记录这次买入
log.info("买入 %s" % (context.security))
# 按目标市值占比下单
order_target_percent(context.security, 1)
# 如果5日均线小于20日均线,则清仓股票
elif MA20 > MA5 :
# 记录这次卖出
log.info("卖出 %s" % (context.security))
# 卖出所有股票,使这只股票的最终持有量为0
order_target(context.security, 0)
编写第一个量化策略
对于大部分人来说,量化交易是非常陌生与神秘的。本节内容将带你开启第一个量化策略!
本节内容摘要:
1.理解量化策略的基本框架。
2.学会编写一个简单的量化交易策略。
3.学会将量化交易策略绑定实盘模拟交易,并实时收到交易策略的买卖信号。
1.理解量化策略的基本框架
通常情况下,完整的量化交易策略至少需要确定两件事:
A.交易标的,即买什么;
B.确定交易时机,即怎么买卖。
让我们来设计一个简单完整的量化交易策略:
策略交易标的:贵州茅台;
策略交易时机:5日均线与20日均线金叉时,买入;5日均线与20日均线死叉时,卖出。
2.学会编写一个简单的量化交易策略
第一步:打开SuperMind量化交易平台,先在上方导航栏点击“我的策略”—“策略编译”,再点击蓝色按钮“+新建策略”,接着点击已创建的策略进入策略编译器页面,如下:
温馨提示:“回测列表”下方三个按钮,可以设置编译器字体大小,背景颜色,编译设置,开启全屏编译,查看API文档,如下: