投资的世界纷繁复杂,千头万绪。
既然是科研,再乱的情况也得理出个线索。
投资的第一性原理是什么?——价值创造。
资本市场的缘起,本身就是聚焦资金办大事,共担风险。像大航海,发现新大陆这样的风险巨大,高度不确定,当然若是成了,收益也巨大的事情得以办成。
投资市场的繁荣,要求流动性。而流动机带来的投机。
投机的第一性原理是什么?——低买高卖。
不管它背后是啥,只要能交易,只要有波动,就可以投机。
搞清楚定义,从这个角度望过去,“量化投资”应该叫“量化投机”才更准确。
价值投资有一种天然的道德感上的正确。
但实际操作很难。
刘诚在他的《投资要义》里讲的投资体系:“股债平衡兼套利,低估分散不深研”。
他自己是私募公司老板,身家都有股市里。他用自己的案例告诉我们,要搞明白一家公司有多难,而且这是动态变化的,宏观在变,市场在变,连公司创始人自己都搞不明白。
价值投资还要“格系”和“芒系”。格是巴菲特的师傅格雷厄姆,芒是巴菲特的合伙人,投资大师芒格。格系更讲当前的静态低估,芒系讲动态估计,也就是更看未来成长性。
刘诚的观点是芒系很难,大海捞针找顶尖的优质公司,而低估值的普通公司,在熊牛周期转换就会出现。
普通人可以再退一步,也别找公司了,使用指数ETF通通搞定。
这两句话我大致认同,但“低估”这两字在操作性上还要探讨。
一般说指数低估,就是PE/PB分位点,或者其他指数。
按这个标准,纳指和标普早就需要空仓,而A股当下遍地低估。这样的持仓体验感是很差的。
现代投资理论,从讲大类资产配置开始的。
“把长期向上的,低相关性的投资标的组合在一起”,获得长期的Beta,天然可以降低波动性。
我自己建议的 “恒定市值平衡的大类资产配置体系”,获取长期年化10%的收益。让账户自动运转:构建一个稳健的长期年化10%(回撤小于6%)的大类资产组合
那你会问,如果我们还想主动有所作为,增厚收益呢?
不考虑深度研究公司(确定太难)的话,那就是“量化投机”。
既然投机,那就偏右侧交易吧,“强者恒强”,而且市场上动量一直有效。
系统源代码发布v2.4供下载,带年化32.1%策略,简化GUI逻辑
咱们的趋势策略,当前的表现,去年指数跌11%的大环境,获得这个收益还是不错的。
http://www.ailabx.com/task/a568a2e8-f145-4229-b20b-9a2435be26ed
(浏览器打开这个链接可以查看策略)
对比二者,你要是问我,更喜欢前面的10%,还是这后面的32%,我如实的告诉你,我自己大部分仓位建在前者。
为什么?前者有坚实的逻辑基础,涨与跌不慌,而且基本不需要太操心,偶尔做一些再平衡即可。
后者表现很好,但策略会不会失效?尤其是经历回撤期是策略失效,还是正常回撤?——投资都难的是什么?信心。
刚刚接触投资的同学,以为投资能一夜暴富。
星球群里的新同学,小心翼翼问,你们是不是都财富自由了。仿佛说,如果答案是否的话,那你们是不是骗子,是不是割韭菜。——管理员给的答案是——“在路上”。
投资之路,最难的是——你不接受慢慢变富。但你有没有想过,如果没有投资,你可能不经意间在慢慢变穷,因为通胀。
本金越大,越不需要折腾。
那你说,就是本金小呀,除了省之外,想把10%,提升到20%-30%+的年化,可以吗?可以,上面不就有一个年化32%的策略了。
主动管理还有一个好处,有些同学希望“以投资为生”,希望在不同的年份里,都有绝对收益。
以500万本金为例,400万配置大类资产,获取10%年化,不操心;100万配置主动管理,博取年化20%+的收益。
另外,保持主动投资,还是有点乐趣的,就像很多人仍喜欢开手动档的车一样,有操控感。
那么问题来了,主动投机的第一性原理是?——预测的胜率,赔率。
此为交易系统。
动量轮动是则于时间序列上,动量有延续性,不同标的之间有低相关性,当动量反转时,与之互补的标的会“自动”顶上来。——骑最快的马。
核心就是如何“找到”——”预测”哪匹是最快的马。
当然很难。你如果可以预测未来,你将富可敌国。
没有人可以,要么神,要么神棍。
那主动管理做什么呢?——概率。
策略类型可以归为: 大类资产配置,轮动,择时,多策略组合。
多标的在一块,可以归结为轮动,topK排序是必要的,当然可以有出入场的信号筛选机制。
机器学习和多因子在这里的作用,就是给出排序信号,或者说基于多因子的排序模型。
择时更为复杂:海龟就是一个典型的择时系统,信号,仓位管理,止损等等,如何构建出一个正概率的系统。
今天新增一个脚本,下载A股指数的:
import akshare as ak from config import DATA_DIR DATA_DIR.joinpath('indexes').mkdir(exist_ok=True) symbol = 'sz399552' symbol = '000300.SH' code = symbol[-2:].lower() + symbol[:6] print(code) df = ak.stock_zh_index_daily(symbol=code) df['date'] = df['date'].apply(lambda x: str(x).replace('-', '')) print(df) df.to_csv(DATA_DIR.joinpath('indexes').joinpath(symbol + '.csv'), index=None) print(df)
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103581
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!