文档帮助中心文档
绘制股票策略曲线
equityCurve (val)
h = equityCurve (ax, val)
例子
equityCurve (val)绘制你使用的每个策略的权益曲线backtestStrategy.创建后台测试引擎后使用backtestEngine然后用runBacktest,使用equityCurve制定策略并比较他们的表现。
equityCurve (val)
val
backtestStrategy
backtestEngine
runBacktest
equityCurve
h= equityCurve (斧头,val)另外返回图形句柄h.
h= equityCurve (斧头,val)
h
斧头
全部折叠
MATLAB®回溯测试引擎根据资产价格数据的时间序列对组合投资策略进行回溯测试。创建一组后测策略使用backtestStrategy和回溯测试引擎使用backtestEngine,runBacktest函数执行回溯测试。在使用了runBacktest函数来测试投资策略,可以运行equityCurve函数来绘制策略的权益曲线。
加载数据
加载一年的股票价格数据。为便于阅读,本例仅使用DJIA股票的一个子集。
%阅读2006年道琼斯工业平均指数股票的每日调整收盘价表T = readtable (“dowPortfolio.xlsx”);%修剪表,只保存日期和选定的股票timeColumn =“日期”;assetSymbols = [“BA”,“猫”,“说”,“通用电气”,“IBM”,“力”,“微软”];T = T(:,[timeColumn assetSymbols]);%转换为时间表pricesTT = table2timetable (T)“RowTimes”,“日期”);%查看最终资产价格时间表头(pricesTT)
ans =8×7时间表IBM MCD microsoft日期英航猫说通用电气 ___________ _____ _____ _____ _____ _____ _____ _____ 03 - 1月- 2006 68.63 55.86 24.18 33.6 80.13 32.72 26.19 04 -简- 2006 69.34 57.29 23.77 33.56 80.03 33.01 26.32 05 - 1月- 2006 68.53 57.29 24.19 33.47 80.56 33.05 26.34 06 - 1月- 2006 67.57 58.43 24.52 33.7 82.96 33.25 26.26 09 - 1月- 2006 67.01 59.49 24.78 33.61 81.76 - 33.8826.21 2006年1月10日67.33 59.25 25.09 33.43 82.1 33.91 26.35 2006年1月11日68.3 59.28 25.33 33.66 82.19 34.5 26.63 2006年1月12日67.9 60.13 25.41 33.25 81.61 33.96 26.48
创建策略
检验一种等权重投资策略。这种策略将同等比例的可用资本投资于每项资产。本示例没有描述如何创建回溯测试策略。有关创建回溯测试策略的更多信息,请参见backtestStrategy.
集“RebalanceFrequency”每60天重新调整一次投资组合。这个例子没有使用回看窗口来重新平衡。
“RebalanceFrequency”
%制定策略numAssets =大小(pricesTT, 2);equals weightsvector = ones(1,numAssets) / numAssets;@(~,~) equalWeightsVector;ewStrategy = backtestStrategy (“EqualWeighted”equalWeightsRebalanceFcn,...“RebalanceFrequency”现年60岁的...“LookbackWindow”0,...“TransactionCosts”, 0.005,...“InitialWeights”equalWeightsVector)
ewStrategy = backtestStrategy with properties: Name: "EqualWeighted" RebalanceFcn: @(~,~)equalWeightsVector rebalanceffrequency: 60 TransactionCosts: 0.0050 LookbackWindow: 0 InitialWeights: [0.1429 0.1429 0.1429 0.1429 0.1429 0.1429 0.1429
运行,val
创建一个回溯测试引擎,并对一年的股票数据进行回溯测试。有关创建后台测试引擎的更多信息,请参见backtestEngine.
%创建后台测试引擎。回溯测试引擎的属性%结果被初始化为空。val = backtestEngine (ewStrategy)
backtester = backtestEngine with properties: Strategies: [1x1 backtestStrategy] RiskFreeRate: 0 CashBorrowRate: 0 RatesConvention: "Annualized" Basis: 0 InitialPortfolioValue: 10000 NumAssets: [] Returns: [] Positions: [] Turnover: [] BuyCost: [] SellCost: []
%运行backtest。空属性现在被填充%详细的回测结果时间表。pricesTT val = runBacktest (val)
backtester = backtestEngine with properties: Strategies: [1x1 backtestStrategy] RiskFreeRate: 0 CashBorrowRate: 0 rate convention:“Annualized”Basis: 0 InitialPortfolioValue: 10000 NumAssets: 7 Returns: [250x1时间表]position: [1x1 struct] Turnover: [250x1时间表]BuyCost: [250x1时间表]SellCost: [250x1时间表]
生成资产曲线
使用equityCurve绘制等权重策略的权益曲线。
回溯测试引擎,指定为backtestEngine对象。使用backtestEngine创建val对象。
请注意
的val参数必须使用backtestEngine已使用runBacktest.
数据类型:对象
对象
(可选)有效的轴对象,指定为斧头使用创建的轴.在可选参数指定的轴线上创建绘图斧头参数而不是当前轴(gca)。可选参数斧头可以放在任何输入参数组合的前面。
轴
权益曲线图的句柄,返回为句柄对象。
backtestStrategy|backtestEngine|runBacktest|总结
总结
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系