python股票交易策略_程序化交易(三):基于 Python 的股票程序化交易/量化框架 easyquant...

续前贴,在前面的基础上弄了一个简单的程序化交易框架 easyquant 开源在 github 上,欢迎大家 star & fork。下面是简单介绍:

交易模块 easytrader

支持 华泰、佣金宝、银河、雪球模拟盘。

银河和雪球的模拟盘是由其他开发者贡献的,在此感谢

其中银河支持基金的分拆、赎回、合并。支持 Python3 / Python2

行情模块 easyquotation

支持新浪、腾讯财经、leverfun 的免费十档、集思路的分级基金以及相关套利接口

允许自定义行情来源、行情推送时间

允许同时使用多个行情推送来源。

只支持 Python 3.5+ ,所以整个框架需要 Python 3.5+

策略下面是一个简单的策略定义

引入策略模板from easyquant import StrategyTemplate

定义策略类class Strategy(StrategyTemplate):

name = 'Hello World' # 定义策略名字

# 策略函数,收到行情推送后会自动调用

def strategy(self, event):

""":param event event.data 为所有股票行情的字典,结构如下

{'162411':

{'ask1': '0.493',

'ask1_volume': '75500',

'ask2': '0.494',

...

'bid1': 0.492,

'bid1_volume': 10765200,

....

'buy': 0.492,

'close': 0.499,

'high': 0.494,

'low': 0.489,

'name': '华宝油气',

'now': 0.493,

'open': '0.490,

'sell': '0.493',

'turnover': 420004912,

'volume': 206390073.351}}

"""

# 使用 self.user 来操作账户,用法见 easytrader 用法

# 使用 self.log.info('message') 来打印你所需要的 log

self.log.info('策略1触发')

self.log.info('行情数据: 万科价格: %s' % event.data['000002'])

self.log.info('检查持仓')

self.log.info(self.user.balance)

# 买入

self.user.buy('162411', price=0.444, amount=100)

# 卖出

self.user.sell('162411', price=0.444, amount=100)

运行效果效果

启动主引擎

[2015-12-28 14:05:36.649599] INFO: main_engine.py: 加载策略: 策略1_Demo

[2015-12-28 14:05:36.650250] INFO: main_engine.py: 加载策略: 策略2_Demo

[2015-12-28 14:05:36.650713] INFO: main_engine.py: 加载策略完毕

触发每秒定时计时器

策略1触发

行情数据: 万科价格: {'ask4': 0.0, 'ask1': 0.0, 'bid2_volume': 0, 'bid3': 0.0, 'bid5_volume': 0, 'name': '万 科A', 'ask4_volume': 0, 'close': 24.43, 'volume': 0.0, 'ask3_volume': 0, 'bid5': 0.0, 'bid1': 0.0, 'ask2': 0.0, 'bid4_volume': 0, 'high': 0.0, 'ask5': 0.0, 'bid4': 0.0, 'ask5_volume': 0, 'turnover': 0, 'ask2_volume': 0, 'sell': 0.0, 'open': 0.0, 'bid3_volume': 0, 'bid2': 0.0, 'bid1_volume': 0, 'buy': 0.0, 'ask3': 0.0, 'low': 0.0, 'now': 0.0, 'ask1_volume': 0}

检查持仓

[{'asset_balance': 2758.98, 'market_value': 2740.9, 'enable_balance': 18.08, 'current_balance': 18.08, 'money_name': '人民币', 'fetch_balance': 18.08, 'money_type': '0'}]

策略2触发

行情数据: 华宝油气 {'ask4': 0.5, 'ask1': 0.497, 'bid2_volume': 4594100, 'bid3': 0.494, 'bid5_volume': 851300, 'name': '华宝油气', 'ask4_volume': 15650706, 'close': 0.5, 'volume': 138149552.799, 'ask3_volume': 19611307, 'bid5': 0.492, 'bid1': 0.496, 'ask2': 0.498, 'bid4_volume': 313700, 'high': 0.501, 'ask5': 0.501, 'bid4': 0.493, 'ask5_volume': 10108300, 'turnover': 277462973, 'ask2_volume': 10747730, 'sell': 0.497, 'open': 0.5, 'bid3_volume': 997500, 'bid2': 0.495, 'bid1_volume': 5507952, 'buy': 0.496, 'ask3': 0.499, 'low': 0.495, 'now': 0.497, 'ask1_volume': 14948518}

检查持仓

[{'asset_balance': 2758.98, 'market_value': 2740.9, 'enable_balance': 18.08, 'current_balance': 18.08, 'money_name': '人民币', 'fetch_balance': 18.08, 'money_type': '0'}]

结尾更多详细信息可以参见 easyquant 的文档

如果你觉得我的文章不错的话,(≧﹏ ≦)

7c7dc4de471058f1bc4bc691faa799e1.png

1金币8金币18金币58金币88金币188金币其它金额

余额不足,立即充值

我的金币余额:个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值