受
Habré上结构产品广告的启发,对python脚本进行了修改以进行独立测试。 主要思想是这些产品提供100%的资本保护。 鉴于牛市已有10年的历史,此类产品的历史表现令人震惊,充满了无风险的天堂。
对于有兴趣进行理财的初学者python程序员,本文将很有趣。 好吧,对于某些人来说,此工具可以很方便地自行构建此类策略。 但是要小心,经纪人写道,这并不适合所有人。
该代码作为Jupyter记事本发布在GitHub上。 走吧
几句话介绍
我将对美国股票进行测试,结果收益率将低于卢布。 从图表上的绝对数字来看,俄罗斯市场更有趣,但其中存在更多风险。 测试的本质从此没有改变。
我们从免费的Alpha Advantages获取数据,您首先需要通过共享电子邮件地址来获取密钥。 笔记本中的简要说明。 您可以在Finam获取俄罗斯证券的报价。
结构产品魅力
简而言之,您的资金是安全的,且收益率高于银行存款(政府债券)。 这里只是方程式中缺少的一些元素:
- 银行存款总是有收入,但是存在零风险。
- 您将获利,但经纪人要求赔偿很大一部分;
- 投入资金的使用受到限制;
- 经纪人实际上不承担任何风险,仅参与利润。
策略策略
考虑最简单的策略:
- 我们购买90%的资本短期国债;
- 其余的,我们购买高风险资产;
- 我们在期初以价格的10%止损。
该战略的核心是:国债的年利率为1-3%,实际上不包括亏损(如果有收益)。 用10%的资本购买的资产的10%的缩水将是债券所能承担的风险。 在牛市时期,一些股票可能会增长几倍,这将带给我们快乐。
要手动重复此策略,您必须执行以下步骤:
- 买债券。 例如,以ETF的形式。
- 买股票。
- 发出停止订单。
测试方法
我将简要介绍一些具有代码摘录的解决方案,这些解决方案使测试变得非常灵活和方便。
日程安排
您可以在以下期间重新平衡:周,月,年。 以及时段内的任何一天:第一个,第N个,最后一个。 Schedule()类负责:
数据周期
StructuredProductMill().run()
如其中
一篇文章所述 ,我们可以仅绕过一个周期中的重新平衡日期,而跳过所有其他日期。 但是随后我们失去了该期间内资产变化的统计信息,我们将看不到每天的获利能力和亏损。 该脚本每天都会四处走动,这会损害速度,这使您可以查看未结头寸的市场价值并应用止损单检查。
再平衡
StructuredProductMill().rebalance()
在这里,可以打开的资产分配给可用资本。 在将计算结果与未平仓头寸进行比较之后,将针对所需数量执行交易:
特惠
StructuredProductMill().trade()
在这里,为了提高速度,您可以牺牲细节并仅控制每个头寸的获利能力变化。 但是该脚本会考虑佣金和资产价值,并保留交易历史记录,这使您可以在测试的任何一天计算交易并执行停止订单。 此方法更新可用缓存的位置和大小。
发射
要运行,您必须指定一组具有份额和测试参数的资产。 我们将测试日历年的结构产品:
笔记本底部的图表显示了在重新平衡之日(年末)的获利能力和亏损额,这证实了在报告之时资本的亏损额极低并且盈利能力不断增长。 尽管这种获利能力输给了美国公司S&P 500的广泛指数。
结果
自2011年以来,这些测试涉及自由交易的美国工具:
- BIL-短期国债ETF,在撰写本文时,年收益率为2%。 请记住,从2009年到2017年,利率几乎为零。 另一种选择是使用MINT(短期固定收益工具基金)。
- AAPL-苹果股票。
- MSFT-微软股票。
- TSLA-特斯拉股票。
Aapl
这种设计在8年的时间里带来了24%的收入(平均每年2.6%),而重新平衡之间的缩水为-6%。 但是随着岁月的流逝,缩水大约为零。 止损未被触及,市场中有180%的收入失去订单。

每天的获利能力和亏损(左边的盈利能力,右边的亏损)。

年份交界处的获利能力和亏损(左边的盈利能力,右边的亏损)。
Msft
这种设计在8年的时间里带来了26%的收入(平均每年2.75%),而重新平衡之间的回撤为-2%。 在多年的交界处,没有亏损。


TSLA
这种设计在8年的时间里带来了45%的收入(平均每年4.6%),再平衡之间的回撤幅度高达-15%。 但是所有这一切在2013年,当时特斯拉增长了近5倍。 在今年年初,亏损额度最高为-2%。 最忙碌,但也有利可图的乘客。


结论
记事本允许您测试任何投资组合的成分。 这些可能是肱骨基金或几家公司。 虽然通常没有保护性资产。
GitHub存储库