老滚5初始化python失败_快速开始 - Python - 掘金量化

本文介绍了使用Python进行自动化交易策略的实施,包括如何设置定时任务在每天特定时间买入股票,以及如何通过数据事件驱动实现不同频率的行情数据订阅和处理。此外,还展示了在回测和实时模式下操作策略的方法。
摘要由CSDN通过智能技术生成

快速开始

分享

阅读 19473

更新 2021-01-13 09:43:05

常见的策略结构主要包括3类,如下图所示。

用户可以根据策略需求选择相应的策略结构,具体可以参考经典策略。

定时任务示例

以下代码的内容是:在每个交易日的14:50:00 市价买入200股浦发银行股票:

# coding=utf-8

from__future__importprint_function,absolute_import

fromgm.apiimport*

definit(context):

# 每天14:50 定时执行algo任务,

# algo执行定时任务函数,只能传context参数

# date_rule执行频率,目前暂时支持1d、1w、1m,其中1w、1m仅用于回测,实时模式1d以上的频率,需要在algo判断日期

# time_rule执行时间, 注意多个定时任务设置同一个时间点,前面的定时任务会被后面的覆盖

schedule(schedule_func=algo,date_rule='1d',time_rule='14:50:00')

defalgo(context):

# 以市价购买200股浦发银行股票, price在市价类型不生效

order_volume(symbol='SHSE.600000',volume=200,side=OrderSide_Buy,

order_type=OrderType_Market,position_effect=PositionEffect_Open,price=0)

# 查看最终的回测结果

defon_backtest_finished(context,indicator):

print(indicator)

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='strategy_id',

filename='main.py',

mode=MODE_BACKTEST,

token='token_id',

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)

整个策略需要三步:

设置初始化函数: init , 使用 schedule 函数进行定时任务配置

配置任务, 到点会执行该任务

执行策略

数据事件驱动示例

在用subscribe()接口订阅标的后,后台会返回tick数据或bar数据。每产生一个或一组数据,就会自动触发on_tick()或on_bar()里面的内容执行。比如以下范例代码片段,订阅浦发银行频率为1天和60s的bar数据,每产生一次bar,就会自动触发on_bar()调用,打印获取的bar信息:

# coding=utf-8

from__future__importprint_function,absolute_import

fromgm.apiimport*

definit(context):

# 订阅浦发银行, bar频率为一天和一分钟

# 订阅订阅多个频率的数据,可多次调用subscribe

subscribe(symbols='SHSE.600000',frequency='1d')

subscribe(symbols='SHSE.600000',frequency='60s')

defon_bar(context,bars):

# 打印bar数据

print(bars)

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='strategy_id',

filename='main.py',

mode=MODE_BACKTEST,

token='token_id',

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)

整个策略需要三步:

设置初始化函数: init, 使用subscribe函数进行数据订阅

实现一个函数: on_bar, 来根据数据推送进行逻辑处理

执行策略</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值