跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 世界
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

AI量化投资实验室-社区&知识库

  1. 首页
  2. 七天入门量化投资
  3. 第3天: bt—低代码”积木式“策略开发框架(大小盘轮动策略)

第3天: bt—低代码”积木式“策略开发框架(大小盘轮动策略)

已定时 已固定 已锁定 已移动 七天入门量化投资
5 帖子 4 发布者 315 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • A 离线
    A 离线
    ailabx
    编写于 最后由 编辑
    #1

    工欲善其事,必先利其器。

    策略开发是量化的核心工作,而策略需要运行在回测平台上。

    框架的选择就非常重要。

    选择的标准取决于你的目标:

    回测重在效率,说白了,能够快速验证你的交易思路;实盘更在意性能、稳定性。

    我在推荐回测、实盘分开的。

    实盘要考虑的细节非常多,而这些在策略开发过程用不上,不必因此过早浪费时间。

    框架选择

    线上的回测平台,好处是不必管数据,缺点是运行效率不高,而且策略没有私密性。

    开源的回测框架有:backtrader, qlib, bt, pyalgotrade, pybrokder, backtesing.py,rqalpha, vnpy, wonder trader等。

    如何选择呢?

    vnpy和wonder trader偏实盘,尤其是期货,因此,在CTA对接实盘是建议考虑。

    qlib是机器学习驱动的,传统规则策略不支持,我们还是希望一并兼容的模式。

    就传统开源框架而言,backtrader是相对最成熟的,但我为何不建议新手上来就学,或者说之后也未必一定要学。

    原因如下:

    backtrader起步有一定的学习曲线的,担心大家学完框架直接就入门到放弃了。
    要加载多支股票的时候,性能不好。像多因子策略,全市场选股,bakctrader运行起来就比较费劲,backtrader更适合少数几个标的,像CTA这样传统策略回测和实盘。
    策略代码细节多,需要自行判断当前持仓,计算仓位等交易逻辑细节。——有时候,回测结果不好,对于新手来说甚至不太好判断是策略有bug呢还是策略就不行。
    我推荐这个新手友好的"低代码",”搭积木“式的快速策略开发框架——bt。

    注意,就叫bt,不是backtrader,这个要搞清楚。

    一个策略的开发(单标的CTA择时策略除外),包含几个典型的步骤:

    调仓周期
    选股
    排序
    仓位分配
    再平衡
    把策略拆分成相应的模块之后,每个模块的逻辑相对单一,这样很容易实现“算子化”,然后​进行积木式的策略构建,进而使用低代码的方式来调用。

    同时,就不需要自己写指标代码,而是​使用内置的因子表达式。

    更进一步,可以使用遗传算法等机器学习的方式来挖掘​有效的因子。

    bt框架介绍

    bt 是一个灵活的 Python 回测框架,用于快速创建量化交易策略。

    这个框架允许用户轻松创建策略,这些策略可以混合不同的 Algos(算法)。

    bt很方便创建易于测试、可重用和灵活的策略逻辑模块,便于快速开发复杂的交易策略。

    bt 的目标是帮助量化分析师避免重复造轮子,让他们专注于工作的重要部分——策略开发。

    官网网站:http://pmorissette.github.io/bt/

    熟悉一个策略最优的方式,当然是自己动手把官网的策略跑一下。

    官网的策略咱们这里就不再浪费篇幅,感兴趣的同学可以前往看一下。

    我们用自己的数据来实现真正有用的策略。

    bt策略开发

    大小盘等权策略(基准)
    大小盘波动率加权策略(基准)
    大小盘趋势轮动策略
    大小盘策略是一个经典的策略。

    大小盘轮动策略是一种基于市场风格切换的投资策略,它的核心思想是在大盘股和小盘股之间进行切换以获取超额收益。这种策略通常利用市场中不同市值板块之间的相对强弱来实现盈利,其基本原理是动量效应,即过去表现较好的资产在未来一段时间内很可能会继续表现优越。

    这里的大小盘分别是指: 沪深300指数(000300.SH)、创业板指数(399006.SZ)。

    沪深300是A股市场最大的300家公司;创业板指数是由创业板中市值大、流动性好的100只股票组成的指数,它反映了创业板市场层次的运行情况。

    当然替换成上证50指数或者科创板指数也是类似的。

    通过前面的代码,我们可以把数据已经下载到本地:

    技术让生活更简单。

    1 条回复 最后回复
    0
    • J 离线
      J 离线
      jakenie
      编写于 最后由 编辑
      #2

      后续的在哪里啊?

      A 1 条回复 最后回复
      0
      • J jakenie

        后续的在哪里啊?

        A 离线
        A 离线
        ailabx
        编写于 最后由 编辑
        #3

        @jakenie 近期会更新完成。

        技术让生活更简单。

        1 条回复 最后回复
        0
        • A 离线
          A 离线
          akhj
          编写于 最后由 编辑
          #4

          你好,请问一下你写出来的脚本,能否直接用在券商的QMT量化平台上?

          郝 1 条回复 最后回复
          0
          • A akhj

            你好,请问一下你写出来的脚本,能否直接用在券商的QMT量化平台上?

            郝 离线
            郝 离线
            郝哥
            编写于 最后由 编辑
            #5

            @akhj 应该需要做转化吧,不同平台的代码,需要转化和适配。如果都是python为基础的,难度应该不大。

            1 条回复 最后回复
            0
            回复
            • 在新帖中回复
            登录后回复
            • 从旧到新
            • 从新到旧
            • 最多赞同


            • 登录

            • 没有帐号? 注册

            Powered by NodeBB Contributors
            • 第一个帖子
              最后一个帖子
            0
            • 版块
            • 最新
            • 标签
            • 热门
            • 世界
            • 用户
            • 群组