择时策略:年化19.7%,回测18.8%

今天我们来完成如下两个功能: 择时策略模板和streamlit实现GUI。

图片

择时模板更为简单:

@dataclass
class TaskPickTime(Task):  # 择时策略模板
    def get_algos(self):
        return [
            RunAlways(),
            SelectBySignal(rules_buy=self.rules_buy,
                           buy_at_least_count=self.at_least_buy,
                           rules_sell=self.rules_sell,
                           sell_at_least_count=self.at_least_sell
                           ),
          WeightEqually(),
            Rebalance()
        ]

就是配置一下买入,卖出信号:

from engine.engine import Engine
from engine.task import TaskPickTime

task = TaskPickTime()

task.benchmark = '159915.SZ'
task.symbols = [ "159915.SZ"]

task.features = [ "买入信号"]
task.feature_names = ["买入信号"]

task.rules_buy = ['信号>x']
task.rules_sell = ["信号<y"]

e = Engine(task=task)
e.run()
e.stats()

回测结果:

图片

年化19.7%,回测18.8%,远超创业板指数本身。

图片

上面的参数,在一些平台是收费的,因此我没有直接贴出来。

大家可能好奇,这些最优参数怎么来的

其实这就是下一步我们要做的事情——超参数优化。

使用机器学习,遗传算法等对参数空间进行搜索,找到最优化的参数集。——你发现,你改动参数,结果大概率会变差,因为这是我们优化的结果。

今天的第二项任务是streamlit做界面,有一个界面方便大家运行策略,分析结果。

图片

图片

大家可以下载代码自行体验:

图片

星球每天给大家写实战代码、交付策略:

gui的核心代码如下:

import streamlit as st
from streamlit_option_menu import  option_menu

from engine.engine import Engine
from examples.strategies import task_list

st.set_page_config(page_title='Quantlab - AI量化实验室', page_icon=":bar_chart:", layout='wide')

#定义边栏导航
with st.sidebar:
    choose = option_menu('Quantlab-AI量化实验室',['策略回测','数据分析','机器学习'],
                         icons=['house','book-half','book-half'])

task = st.selectbox(label='请选择策略:', options=task_list())


if st.button('回测'):
    st.write('启动回测:' + task.name)

    with st.spinner('回测进行中,请稍后...'):
        e = Engine(task=task)
        e.run()
        df_all = e.get_df_equities()
        st.line_chart(df_all)
        df_ratios = e.get_ratios(df_all)
        st.write(df_ratios)

版本3.3是值得期待的版本,经过2023年一年的摸索,我们的思路基本成熟。

底层完全重构,从因子表在式,到因子挖掘,后续一系列功能都做得最大程度的复用与环环相扣。确保功能的连续性。

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

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

相关推荐

发表回复

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