Quantlab5.0代码发布:
值得说明,Quantlab5与4没有继承关系,5开始的思路是:
1、尽量少封装,保留回测框架最原始的功能。
2、取消配置、可视化界面,使用notebook写策略,方便大家直观学习。
后续会引入多框架,包含但不限于:bt, pybroker, backtesting.py, backtrader, qlib,vnpy, wonder trader…
【代码发布】Quantlab4.3:lightGBM应用于全球大类资产的多因子智能策略(代码+数据)
先从方法论上讲讲,投资的三个层次:大类资产配置、战术资产调优和择时。
续前文:稳稳的长期年化10%,想以投资为生?先理解投资三大层次——大类资产配置背后的逻辑基础
大类资产——风险平价——配置曲线看就就挺舒服的:
我们先来一个”大类资产——等权配置“作为对比:
波动会大一些,但作为普通用户,其实等权也是可以的。
——曾经有人问马可维茨(因投资组合理论获诺奖),他自己是否使用”均值—方差理论来做配置“。
他的回答是,他做股债平衡时,也是自己给一个固定比例的股债平衡,然后定期再平衡。
今天我们来聊——战术资产配置。
战略资产配置,就是给不同类型的投资品,分配相应的权重,不做预测。
而战术资产配置,在战略资产的基础上,加上一些择优。——这里仍然不做市场预测,就像我们不预测气温,但夏天的时候少穿衣服,冬天时候多穿衣服肯定是没错的。
那如何判断当前投资品的市场是夏天还是冬天呢?
——低相关性的标的之间,使用趋势指标来择优。
bt内置没有实现轮动函数,我扩展了一个:
class SelectTopK(bt.AlgoStack): def __init__(self, signal, K, sort_descending=True, all_or_none=False, filter_selected=False): super(SelectTopK, self).__init__(bt.algos.SetStat(signal), bt.algos.SelectN(K, sort_descending, all_or_none, filter_selected))
回测结果如下:——另外,bt有一个很大的优点,可以多策略一起跑,然后参数进行对比,其实框架这一点需要自己实现。
可以看出,K=1,也就是选择最强的标的最优,年化达到21%,最大回撤35%,但K=3时,卡玛比最优,最大回撤才20%(年化15.2%)。
代码在如下位置:
今天说说因子挖掘,我们之前交付的Deap遗传算法因子挖掘,大家可以前往温习一下:
源码发布Quantlab4.2,Deap因子挖掘|gplearn做不到的咱们也能做。(代码+数据)
Deap因子挖掘框架,具有灵活性和高自动化优势,但其对初始种群敏感、计算速度慢且容易陷入局部最优。
在量化金融领域,深度强化学习(深度学习+强化学习)同样可以被用来开发动态的交易策略,以应对市场环境的不断变化。虽然DRL的训练过程较为复杂,且必须面对市场的不确定性,但它的自适应能力和长期优化的潜力是其显著的优势。
强化学习的版本,我们之前也交付过代码:
DeepAlpha通用因子挖掘:支持GPlearn遗传算法和深度强化学习挖掘因子(代码+数据下载)
今天我们看一篇更加高效的“因子挖掘”论文——“Alpha2:使用深度强化学习发现逻辑公式化的超额收益因子”。
这是官方给的代码,大家可以结合论文先看作者的思路,后续会结合我们自己的数据,考虑整合到Quantlab框架中。
核心要点:DRL指导的MCTS搜索能够在庞大的搜索空间中高效地发现高质量的alpha。——个人比较看到MCTS的检索技术。
这里引入了AlphaGo类似的技术,通过蒙特卡罗树来有效缩小检索空间。
最近开始,还会把星球沉淀下来的模块,生成相应的专栏,可能会使用小报童的形式,大家这几周可以关注下。
吾日三省吾身
未雨绸缪,是必要的。
数年前,曾经就想过的老命题,终究还是绕不过去。
职场是一个复杂的存在,在商言商,本身没有什么问题。
爱迪生的研究所,在经济周期面前,仍然需要断臂求生,这就是商业法则——生存为第一要义。
活着,才能谈梦想。
这个时段,切记不要上杠杆。
积蓄力量,稳中求进。
“一人企业”——就是你可以离开职场,不依赖大的组织,依然可以创造收入的商业逻辑。
这可能是现在很多中年危机人的终极出路。
职场终究会越来越难,终归逃不过年岁增长,体力、精力下降。
所有之谈判,均是底牌与价值,而不是其他。
你有多大价值,你就有得选,越是市场下行期,越是如此。
前路漫漫,我们一起加油。
——如此不确定的当下与未来,AI量化技能,值得每个人拥有。
越发不确定的当下,职场躺不平,卷不动——有时候连卷的机会都没有。
很多公司遇到的困难,必须断臂求生。
创业又九死一生。
中年人上有老,下有小,躺不平,卷不动。
很多人“被动”走向了投资。——至少似乎有点事情做,好像有时候还能赚点钱。——梦想中,没准还能一不小心,找到圣杯,走向人生巅峰。
——当然,小心你的本金。
投资是一个非常专业的行为,不比你任何从事过的工作简单。
看起来不就是一买一卖嘛,有多少英雄折戟沉沙。
今天还是要先从方法论上讲讲,投资的三个层次:大类资产配置、战术资产调优和择时。
大类资产配置
资本市场有一个假设就是肯定长期向上。资本市场建立的逻辑,本身就是大家集中力量办大事,风险共担,收益共享。——这里办大事的逻辑,当然是要把事情做成。——比如大航海时代,集资出海贸易。
某一艘船会有很大的不确定性,也就是风险。但从长期和整体来看,航海事业一定是高收益——否则你折腾它干啥。
这时候,如果你全面配置,无视短期波动,就可能拿到市场长期增长的收益,俗称市场Beta。
这是大类资产配置的逻辑基础。风险平价等策略都是它的衍生和应用。
它的特点是不预测,按风险暴露情况相等来配置,拿到市场综合Beta。
长期看,10%左右的长期收益是可期的。——这时候,如果你本金超过500万,就可以每年获得税后50万的被动收入——你就一定意义上财务自由了!10%长期年化真的挺容易的:国内版全天候风险平价策略——零代码开发(系统代码+数据)
数据说话——全球主要指数,A股,港股,美股,欧洲,黄金,原油:
from datafeed.dataloader import CSVDataloader data = CSVDataloader.get(['000300.SH', #沪深300 '159915.SZ', #创业板 'HSI', #香港恒生 '^NDX',# 纳指100 'GDAXI',#德国DAX 'N225',#日经225 'AU.NH',#南华黄金期货指数 'SC.NH',#南华 原油期货指数 '000012.SH',#国债指数 ]) data.dropna(inplace=True) (data.pct_change()+1).cumprod().plot()
最近A股回调,以致于从指数上看,竟然十年没跑盈国债——当然这是暂时的——投资是一个无限游戏。
从相关性看过去,还是很好的,黄金、原油,债券和所有其他品类的相关性都低,除A股与恒生相关性比较高之外,A股与美股、欧洲相关性都不高。
这些资产我们做——风险平价策略:
import bt s = bt.Strategy('全球大类资-风险平价-月度再平衡', [ bt.algos.RunAfterDays( 20*6 + 1 ), bt.algos.RunMonthly(), bt.algos.SelectAll(), bt.algos.WeighERC(), bt.algos.Rebalance()]) test = bt.Backtest(s, data) stras = [test]
长期年化7.2%,最大回撤13%,要知道——我们没有使用全收益指数,真正交易的时候收益会更高。
另外,这些都是大盘宽期指数,做一些行业指数增强后,收益年化10%不是大问题。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103223
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!