模块化“低代码”开发AI量化策略(代码+数据)

本周星球大致的计划如下:

1、quantlab策略上平台可配。

2、前端传参数可回测策略。

3、策略结果呈现。

4、Django-allauth邮件登录,原有用户导入。

5、deep alpha stock data代码解读。

django后台通过model直接生成管理代码,还是非常强大的:

图片

具体实现代码如下:

class StrategyInfo(models.Model):
    def __str__(self):
        return self.name

    class Meta:
        verbose_name = '策略'
        verbose_name_plural = verbose_name

    name = models.CharField(max_length=50, verbose_name='策略名称')
    desc = models.TextField(verbose_name='策略描述', null=True, blank=True)

    PERIOD_CHOICES = (
        ('RunDaily', '每天'),
        ('RunWeekly', '每周'),
        ('RunMonthly', '每月'),
        ('RunQuarterly', '每季'),
        ('RunYearly', '每年'),
    )
    run_period = models.CharField(max_length=20, choices=PERIOD_CHOICES, verbose_name='调仓周期')

    WEIGHT_CHOICES = (
        ('WeightEqually', '等权分配'),
        ('WeightFixed', '固定权重'),
        ('WeightERC', '分险平价'),
    )
    weight_algo = models.CharField(max_length=20, choices=WEIGHT_CHOICES, verbose_name='仓位权重')
    benchmark = models.ForeignKey(FundInfo, on_delete=models.CASCADE, related_name='benchmark', verbose_name='基准',
                                  null=True)
    funds = models.ManyToManyField(FundInfo, verbose_name='候选池列表', null=True)

一个基本的策略就配置起来了,当然复杂的策略,比如涉及的“买入”,“卖出”信号的,需要扩展字段,比如在json里实现,然后在后台可以直接编辑。

通过api上传配置信息,使用django-ninjia,与fastap类似:

这里使用django,mysql存储基础信息,然后mongo存储json配置文件:

图片

图片

@api.post('/strategy/add')
def insert_or_update(request, payload: StrategyIn):
    print(payload)
    s = StrategyInfo.objects.filter(pk=payload.id).first()
    if not s:
        s = StrategyInfo(name=payload.name, desc=payload.desc)
        s.save()
    else:
        s.name = payload.name
        s.save()

    doc = payload.dict()
    doc['_id'] = s.pk
    mongo_utils.get_db()['strategies'].update_one({'_id': s.pk}, {'$set': doc}, upsert=True)
    return {"message": "OK"}

图片

api接口基本写好,而且可以通过api直接调取数据进行回测。

明天构建前端页面,对策略进行配置,并保存到后台,同时可以查看回测结果。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103511
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 29 日
下一篇 2024 年 7 月 29 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注