MATLAB算法交易:初步建模

本演示介绍了如何使用MATLAB开发一个简单的指数移动平均线交易策略。

版权所有:The MathWorks, Inc.版权所有。

内容

载入一些数据(Excel)

LCO是布伦特原油混合原油,是最常交易的石油基准之一。这里,我们加载了从2003年8月到2011年3月的价格信息。

数据= xlsread(“brent_1D.xlsx”);LCOClose = data(:,3);

制定一个简单的领先/滞后技术指标

我们将使用两个指数加权移动平均

[Lead, Lag] = movavg(LCOClose, 5,20,“e”);我们可以用MATLAB的绘图交互式地创建我们想要的图表%的工具,我们也可以自动生成这个购物车的代码。指标chartma ([LCOClose,领先,滞后])

根据指标制定初步策略

我们将基于移动平均线的交叉建立一个简单的交易规则。

信号= 0 (size(LCOClose));信号(前导>滞后)= 1;%买入(多头)信号(超前<滞后)= -1;%卖出(做空)Trades = [0;0;diff(信号(1:end-1)));%移动交易1个周期现金=累计(-trades.*LCOClose);Pandl = [0;信号(1:end-1)]。*LCOClose +现金;返回= diff(pandl);annualScaling =√(250);sharpeRatio = annualScaling*sharpe(returns,0);%年度夏普比率

同样,我们可以使用MATLAB的绘图工具来提供提供所需信息的自定义图表。

ruleChartMA([LCOClose, Lead, Lag], [signal, pandl], sharoperatio)