avatar PyPI Latest Release Build Status PyPI Downloads License - MIT
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
- Linux
- Windows
- MacOS
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()
- 简单易用的下单功能
- 仓位盈亏计算
- 多周期多合约回测
- 实时行情
- k线生成
- 回测报告生成
- 自动运维
- 插件系统的支持
- 多交易接口支持
ctpctp_minirohonopen_ctp
更多相关信息, 请参阅文档
支持多周期多合约回测, 回测参考example/backtest示例
avatar
本项目推荐使用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编写桌面应用, 敬请期待
本项目长期维护, 开源仅作爱好, 本人不对代码产生的任何使用后果负责. 功能尽可能会保持稳定.
- MIT