目标:建立以因子挖掘为核心的“流水线”策略工厂。
10月目标:gplearn改造,整合,alphanet实现。
系统代码发布V1.7:
代码及数据均可以下载,请同学们更新:
今日todo:
1、完成量化平台发布代码前检查,发布v1.7。
freeze requirements.txt。
select signal去掉做空,weight equally。
2、gpquant/gplearn代码对比。看下如何改造。
3、alphanet端到端的因子挖掘与合成框架代码。
大家更新环境时,使用pip install requirements_freezed.txt,这样就不会有版本问题。
按信号选股,去掉做空逻辑:
class SelectBySignal(Algo): def __init__(self, rules_buy=[], buy_at_least_count=1, rules_sell=[], sell_at_least_count=1): super(SelectBySignal, self).__init__() self.rules_buy = rules_buy self.rules_sell = rules_sell if buy_at_least_count > len(rules_buy): buy_at_least_count = len(rules_buy) if buy_at_least_count <= 0: buy_at_least_count = 1 self.buy_at_least_count = buy_at_least_count if sell_at_least_count > len(rules_sell): sell_at_least_count = len(rules_sell) if sell_at_least_count <= 0: sell_at_least_count = 1 self.sell_at_least_count = sell_at_least_count def _check_if_matched(self, df_bar, rules, at_least_count): se_count = pd.Series(index=df_bar.index, data=0) for r in rules: se_count += df_bar.eval(r) matched_items = se_count[(se_count.values >= at_least_count)].index return list(matched_items) def __call__(self, target): df_bar = target.df_bar matched_buy = [] matched_sell = [] if self.rules_buy and len(self.rules_buy): matched_buy = self._check_if_matched(df_bar, self.rules_buy, self.buy_at_least_count) if self.rules_sell and len(self.rules_sell): matched_sell = self._check_if_matched(df_bar, self.rules_sell, self.sell_at_least_count) holdings = target.get_long_symbols() if holdings and len(holdings) > 0: matched_buy += holdings if matched_sell: for sell in matched_sell: if sell in matched_buy: matched_buy.remove(sell) target.temp['selected'] = matched_buy return True
吾日三省吾身
昨天看到一个词叫“去魅”,有意思。
你永远无法评价一个你不曾得到的东西,那是阿Q心态,酸葡萄心理。
人总是在痛苦和无聊之间徘徊。
得不到的痛苦,得到就无聊。
然后寻找更高的目标去痛苦。
儿时,一罐八宝粥或者一听健力宝,就算愿望。
学生时代,几张烧饼,一本故事会或者小小说,就是美好的中午时光。
长大后,你有能力随意安排时,你发现也就那样。
东西还是那些东西,味却不对。
满满当当的超市,却找不到一件想吃的东西。
世界那么大,我们想去看看。
被困在写字楼的方寸之间,其实当你走遍世界,你发现不过如此。
旅行就是去一个别人待腻了的地方拍照。
但你只有去了,方能“去魅”。
人生本来就是一场体验,尽最大可能性去体验,深度体验罢了。
当然不必穷举,走遍数十个城市之后,你发现城市其实大同小异。
没有感受风土人情是一种遗憾,人生尽量少留遗憾。
昨天看到一篇文章,批评冯唐,说他高高在上,自己得到的所有,劝年轻人躺平。
也许,到达顶峰的人,确实发现也就那样。
马云说他不需要钱,也是真的。
但是,只有你真的有钱,你才可以这么说。
从长期来看,投资离钱这么近,离数据这么近,信息决策如此重要的领域,AI一定是要主导的。
技术面者首当其冲。
基本面者好一些,但ChatGPT如日中天,时间问题。
因此,我们做长期主义的事情。
另外,有一个根本的问题,我们聊财富自由,背后的基础逻辑是“被动收入”。职业股民是一个比工作还累,还要承担风险,高度紧张的工作。这与自由也没有关系呀,最多算地点自由,但时间不自由。
只要高度自动化,智能化,还是赚钱的模式,才是真正的自由,因此,拥抱AI量化吧。
底层引擎替换成了pybroker,为机器学习作准备。
今天说说DeepAlphaNet。
AlphaNet的架构如上图:
输入是股票的基础价量数据。
- 股票池:全 A 股,剔除 ST、PT 股票,剔除每个截面期下一交易日涨跌停和停牌的股
票。 - 原始数据:未经过特征工程的个股量价信息,对于每只股票,将其
量价数据拼接成 9*30 的“数据图片”,30 为历史时间天数。 - 预测目标:个股 10 天后标准化的收益率;个股 5 天后标准化的收益率。
未来几周,将逐步复现这这个代码。
当然这里可以提升的空间还很多,比如提取特征的函数,比如网络的层数等等。
框架的造型,会考虑keras(tersorflow)dataloader重构与keras入门体验,pytorch,结构化数据我们之前分享过autogluon年化26.8%,夏普1.28,单向做多螺纹钢的期货策略,Autogluon机器自主调参(策略+代码下载)。,当然还是StockRanker(梯度提升排序算法)qlib与深度集成学习实现StockRanker,因子挖掘的gplearngplearn筛选高ic值因子,单因子回测(代码下载)等等。
吾日三省吾身
昨天周例会,会议纪要详见星球里的总结。
提炼几点:
1、量化私募里很多团队是赚钱的。
2、信号,机器学习,端对端学习正在成为主流。
基于经验,天赋也许存在,在不可复制,不可传承,仍然是一份苦差事,且不容易自进化,而对于AI来说,这是基本功。
如同Alphago到AlgoMaster,从学习棋谱到双手互搏,也许投资经验也非刚需。
其实这是真正意义上的跨界,在算法,人工智能领域,这些技术成熟,且可以说算是入门级别的。
但在信息如何值钱的金融投资领域,是如何稀缺。
这会是星球下一个阶段之重心。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103799
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!