文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
快速开始
先让我来说说一些杂话吧!得益于 vnpy 的强大底层 (Pybind11 牛逼),能够让 Python 快速获得 ctp 相应的底层 API 支撑。
flask 的微核心设计结构的来了无限的可能性,能够让你快速上手量化开发。
我将这两者结合起来,组装成了 ctpbee,当然 ctpbee 的所有设计都是为了简化你的开发,我们不会制定数据库连接方式,或者告知你如何进行载入数据。ctpbee 只会暴露出相应的接口,然后全靠你的双手打造 一切都由你自由定义,当然得益于设计,你可以通过简单轻巧的 API 在执行的地方访问到任何你想要的数据,自由即是一切。
请认真阅读这个概念 -> ctpbee 是一个简易二次开发的框架 ,而不是一个完整的量化产品
以下代码告诉你如何快速开始 ctpbee
from ctpbee import CtpBee from ctpbee import CtpbeeApi class DataRecorder(CtpbeeApi): """ap""" def __init__(self, extension_name): # 你可以在这里自定义扩展参数 super().__init__(extension_name, api_type="data") def on_tick(self, tick): """ process tick in here """ pass def on_bar(self, bar): """ process bar in here """ pass app = CtpBee("ctpbee", __name__) info = { "CONNECT_INFO": { "userid": "", "password": "", "brokerid": "", "md_address": "", "td_address": "", "appid": "", "auth_code": "", "product_info":"" }, "TD_FUNC": True, } recorder = DataRecoreder("data_recorder") app.config.from_mapping(info) # app.add_extension(recorder) app.start()
- 创建核心账户对象
app = CtpBee("ctpbee", __name__)
- 创建核心账户对象,对于每个账户都有一份独立的 Ctpbee 对象
- ctpbee 是用来识别每个账户的别称
- __name__ 是用来告知当前模块
- 创建核心账户对象
- 载入配置信息
- app.config.from_mapping(info) 通过核心对象的 config 模块进行载入配置文件。请记住配置项都是大写的
- ctpbee 内置了多种配置载入方式
- 载入逻辑处理代码
- class DataRecorder(CtpbeeApi) 你需要继承此 CtpbeeApi,同时提供了 on_tick 和 on_bar 等等函数让你自行处理数据
- recorder = DataRecoreder("data_recorder") ,实例化对象,data_recorder 是插件的名字
- app.add_extension(recorder) 将此插件插入到核心对象中去
- 最后开启功能
- app.start() 开始事件引擎进行事件处理
上面的只是让你快速上手 ctpbee,但是 ctpbee 有一些值得惊喜的特性让你去探索, just to get it !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论