返回介绍

快速开始

发布于 2024-05-30 23:52:38 字数 1996 浏览 0 评论 0 收藏 0

先让我来说说一些杂话吧!得益于 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文