ctpbee 简单易用的期货实盘 ctp 交易框架 支持 ctp 和 ctp_mini
ctpbee 是一个基本的量化开发框架, 他的目标一开始就是为了方便量化开发,所以很多 API 的设计都会照顾开发者,当然如果你要开发策略 ,基本的开发知识还是需要你进行掌握的。
bee bee .... for developer's trading ~
tiny but strong
ctpbee
provide a micro core of trading, you can make trade and backtest in it.
环境设置
# linux 用户快速生成中文支持/ windows 用户无须设置 ## for root bee init-locale ## for user, xxx 为你的用户密码, 注意你当前用户需要拥有 sudo 权限 bee init-locale --password xxxxx
灵感起源
使用来自于 vnpy 的交易接口,重新提供上层封装 API,简化安装流程,提供快速实现交易功能。
快速安装
mac
用户注意, ctpbee_api
目前仅仅提供源码安装方式, 需要你预先安装 ctpbee_api, 安装参见
# python version: 3.6+ # 源码安装 git clone https://github.com/ctpbee/ctpbee && cd ctpbee && python3 setup.py install # pip 源安装 pip3 install ctpbee
支持系统
- <lilinux< li=""> <liwindows< li=""> <limacos< li=""> </limacos<></liwindows<></lilinux<>
快速开始
from ctpbee import CtpBee from ctpbee import CtpbeeApi from ctpbee.constant import * class CTA(CtpbeeApi): def __init__(self, name): super().__init__(name) def on_init(self, init: bool) -> None: # 初始化完成回调 self.info("init successful") def on_tick(self, tick: TickData) -> None: print(tick.datetime, tick.last_price) # 打印 tick 时间戳以及最新价格 # 买开 self.action.buy_open(tick.last_price, 1, tick) # 买平 self.action.buy_close(tick.last_price, 1, tick) # 卖开 self.action.sell_open(tick.last_price, 1, tick) # 卖平 self.action.sell_close(tick.last_price, 1, tick) # 获取合约的仓位 position = self.center.get_position(tick.local_symbol) print(position) def on_contract(self, contract: ContractData) -> None: if contract.local_symbol == "rb2205.SHFE": self.action.subscribe(contract.local_symbol) # 订阅行情 print("合约乘数: ", contract.size) if __name__ == '__main__': app = CtpBee('ctp', __name__) info = { "CONNECT_INFO": { "userid": "", "password": "", "brokerid": "", "md_address": "", "td_address": "", "appid": "", "auth_code": "", "product_info": "" }, "INTERFACE": "ctp", "TD_FUNC": True, # Open trading feature } app.config.from_mapping(info) # loading config from dict object cta = CTA("cta") app.add_extension(cta) app.start()
功能支持
ctp
ctp_mini
rohon
open_ctp
更多相关信息, 请参阅 文档
命令行运行效果
回测截图
支持多周期多合约回测,回测参考 example/backtest
示例
模拟交易测试
本项目推荐使用 openctp 或者 simnow 做模拟交易测试
关于如何对接
openctp
,请参阅此教程 click here
DEMO
: 推荐参阅 openctp 分发实现
遇到问题?
请提交 issue
或者于 issue
搜索关键字, 或者查阅 此处
历史数据支持
对于本地数据自动运维方案,请 Hive 本项目不提供直接的历史数据访问服务。
插件支持
ctpbee
提供了一个 ToolRegister
机制以支持访问数据触发机制,可以实现交易各类插件。
欢迎各位大佬参与开发进来. 实现相关生态功能,如果有相关疑惑,可以发送邮件到 somewheve@gmail.com
寻求技术支持,下面是提供的插件列表
- ctpbee_kline k 线支持插件
- ctpbee_webline 使用 flask 编写后端,通过
with_tools
接口接入策略,vue3+tauri
编写桌面应用,敬请期待。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Nginx 子路径部署遇到 404 问题
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论