主要内容

通过使用Stateflow实施财务战略

这个例子展示了如何使用一个独立的Stateflow®图表模型金融交易策略称为波林格区间。独立的图表实现经典图表与MATLAB®作为行动语言语义。可以计划图通过使用MATLAB的全部功能,包括那些功能限制的代码生成模型®。金宝app有关更多信息,请参见为执行为MATLAB对象创建Stateflow图表

计算波林格区间

波林格区间交易策略是维持的移动平均线N股票价格对一些商品并发出交易指令根据股票的价值:

  • “买”股票的价值下降K标准差在移动平均线以下。

  • “卖出”当股票的价值上升K标准差在移动平均线之上。

  • "持有"当股票的价值K移动平均值的标准偏差。

典型的实现这种策略的使用价值N= 20,K= 2。

该文件sf_stock_watch.sfx定义了一个独立的Stateflow图表,实现这个金融策略。图表包括两个并行分解外州。

  • StockTicker子图表记录当前的股票价格。子图表隐藏了细节计算股票价格。从财务数据访问实时市场数据供应商,一个可能的实现涉及到使用的数据处理工具箱™。有关详细信息,请参见数据处理工具箱

  • FinancialAdvisor状态使用最后一个N股票价格来计算高和低的乐队。根据当前的价格相对于这些乐队,国家产生“买”,“出售”或“持有”指令。这个动作在每一个(1秒)创建一个MATLAB®定时器执行表每一秒。看到利用时序逻辑控制图执行

并行分解是一种常见的设计模式,使你的算法对输入数据进行预处理。有关更多信息,请参见定义独家使用状态分解和并行模式

执行独立的图

执行独立的图,创建一个Stateflow图对象w:

w = sf_stock_watch ();

图表生成一系列的股票价格和问题“买”,“出售”或“持有”指令。

注:图表执行继续直到你删除对象的图表。加载数据…在5 4 3 2 1 0:持有14.2802 14.1942卖出卖出买14.1444 14.2025 14.2471举行

停止图表执行删除表对象w:

删除(w);

相关的话题