图片缩略图

自动交易与MATLAB - 2012

version 1.2.0.1 (7.47 MB) by 斯图尔特Kozola
自动交易网络研讨会的文件显示X_Trader和QuickFIX/J集成。
4.8
10评级

23下载

更新2016年9月01日

视图版本历史

查看许可协议

2012年8月21日播出的“MATLAB自动交易”网络研讨会使用的文件。这个网络研讨会可以在www.tatmou.com/videos/automated -贸易- - matlab 81911. - html
具体的主题包括:
*数据收集选项,包括每日历史数据、日内数据和实时数据
*在MATLAB中建立模型和原型
*对模型进行回溯测试和校准
*与交易执行的现有库和软件交互(X_Trader, QuickFIX/J,消息队列)

建议您观看网络研讨会,以了解“实时”系统的运行情况。

引用作为

斯图尔特Kozola(2021)。自动交易与MATLAB - 2012(//www.tatmou.com/matlabcentral/fileexchange/37932-automated-trading-with-matlab-2012), MATLAB中央文件交换。检索

意见及评分(24

斯图尔特Kozola

如果我们这么做

交易= [0;diff(signal(1:end)](回想diff从N个输入返回N-1个元素,这就是为什么我们在前面填充0)

我们将与告诉我们交易的信号同时进行交易,这是不可能发生的,因为这将是在我们的信号实际上从当前滴答收盘前实现交易。

diff(1:end-1)返回N-2向量,因此需要两个0来保持交易向量的大小与n相同。数组前面的填充0将交易变量在时间上向前移动1个周期,另外一个0需要进行diff操作。这实际上确保了我们在信号告诉我们开始交易的下一个时间段内计算交易。

乔尔Poncha Lemayian

这是Demo1_intro的第29行,

交易= [0;0;diff(信号(1:end-1)));%转移交易1期

有人能告诉我,这是如何将交易周期改变1的吗?谢谢

斯楠伊斯兰教

劳塔罗Parada

obsenspictor

quickFix/j版本1.6中的executor.bat文件丢失了吗?我试图弄清楚如何运行行系统('C:\sandbox\java\quickfixj\bin\executor.bat&')。是否有必要切换到1.5版本?

青色

鑫刘

谢谢。伟大的工作!

谢谢你的分享,对我帮助很大,如果我们继续这个动议,每个人都会很富有。

西里尔

干得好,@Stuart,用GA找到最佳规则有这么多必要吗?有3*2+3*2^2*3+2^3*3^2可能的规则,所以用1 × 1来检验它们不是什么大事

布拉德利

布拉德利

你好,斯图尔特,

我在电脑上启动banzai有困难。我知道它可能需要处理配置文件没有在正确的路径上。
我收到错误,SessionSettings是一个未定义的函数。我不确定在哪里放正确的文件和什么文件放在那里。谢谢你!

弗兰克Weissbach

@Stuart,

我解决了这个问题。这确实是一个道路问题。如果类依赖于其他.jar,那么这些类也需要添加到javaclasspath中。
根据快速修复安装指南,路径中需要有以下4个jar文件:

quickfix -all.jar(包括核心和消息jar)
mina-core-1.1.0.jar
slf4j-api.jar
slf4j-jdk14.jar

弗兰克Weissbach

你好,斯图尔特,

1) Banzai的例子在我的系统上正常运行。
2) javaclasspath设置正确。
我成功地从同一个quickfixj-all jar文件中调用(并在Matlab中创建输出对象)其他类。

斯图尔特Kozola

@Frank

这个错误告诉你找不到SocketInitiator方法。此错误可能是由于以下原因之一:
1)所需的库不在javaclasspath上
2)所需的Java库不匹配

当您下载并安装quickfix/j时,在MATLAB之外运行banzai示例,以确保您的系统具有所有必需的java库。如果运行正确,那么问题出现在所需java库的import /classpath.txt引用中,您可以通过从与安装quikcfix/j相同的目录导入库来解决这个问题。

弗兰克Weissbach

我有一个错误,当我试图执行'Demo7b_QuickFIXExample.m'

一切都很好,直到行:
引发剂= SocketInitiator(应用程序、storeFactory设置、logFactory messageFactory);

这给了我一个错误:
未定义用于输入类型参数的函数'SocketInitiator'
“quickfix.examples.banzai.BanzaiApplication”。

操作系统:Microsoft Windows 7 Version 6.1 (Build 7601: Service Pack 1)
Java虚拟机版本:Java 1.6.0_17-b04 with Sun Microsystems Inc.Java HotSpot(TM) 64位服务器虚拟机混合模式

弗兰克Weissbach

我在用Windows 7:
操作系统:Microsoft Windows 7 Version 6.1 (Build 7601: Service Pack 1)
Java虚拟机版本:Java 1.6.0_17-b04 with Sun Microsystems Inc.Java HotSpot(TM) 64位服务器虚拟机混合模式

马克

谢谢你的收藏。粗略地阅读一下代码,如果我是正确的,那么在tradessignal中使用的逻辑存在问题,如果我正确地理解了它。具体来说,就是输入“ind”和逻辑“and”。按照我的理解,“ind”是标准化的,0 =卖出,0.5 =“跳过”,1 =买入。如果你逻辑上和0 & 1(卖和买)结果是0(卖),然而这不是想要的结果。我在此发表这篇文章是为了帮助其他人检查这段代码,并欢迎根据我的理解进行任何更正。

尼古拉斯

神奇的!

多香果

斯图尔特Kozola

嗨Goryn,

你试过inputStream = java.io.FileInputStream('C:\ MATLAB_CODES\\Automated_Trading\\banzai.cfg')吗?

设置= SessionSettings (inputStream);

这是一个JAVA路径问题,而不是MATLAB。试试这个,应该可以。

Goryn

谢谢你的回答,斯图尔特。但这是另一个错误。首先,我尝试运行Demo7b_QuickFIXExample。M,它写道:

Java异常发生:
quickfix。配置错误:banzai.cfg(系统无法找到文件
指定)

在quickfix.SessionSettings。< init > (SessionSettings.java: 110)

Demo7b_QuickFIXExample错误(第23行)
设置= SessionSettings(“banzai.cfg”);

斯图尔特Kozola

当试图在Windows上引用一个不是有效URL的文件路径时,会发生此错误。看到http://sourceforge.net/tracker/index.php?func=detail&aid=3506051&group_id=176742&atid=878458了一个例子。

你可以:
1)在当前工作目录下运行banzai.cfg命令

2)改变MATLAB文件接受inputStreams:
inputStream = java.io.FileInputStream(“C: \ \ MATLAB_CODES \ \ Automated_Trading \ \ banzai.cfg”);

设置= SessionSettings (inputStream);

Goryn

我有一个错误,当我试图执行'Demo7b_QuickFIXExample.m'script:
-首先我添加了路径到'classpath.txt'
-然后加载快速修复包后,我尝试执行'settings = SessionSettings('banzai.cfg');'它写我:
Java异常发生:
quickfix。ConfigError: banzai.cfg (Cannot find) at quickfix.SessionSettings.(SessionSettings.java:110)

如果我尝试执行一行完整路径的代码,比如"settings = SessionSettings('c:\MATLAB_CODES\Automated_Trading\banzai.cfg');"

Java异常发生:
java.lang.IllegalArgumentException:名字

在美元sun.misc.URLClassPath加载程序。findResource(未知来源)

在sun.misc.URLClassPath。findResource(未知来源)

在java.net.URLClassLoader 2.美元运行(未知来源)

在java.security.AccessController。doPrivileged(本地方法)

java.net.URLClassLoader.findResource(未知源)

在java.lang.ClassLoader。getResource(未知来源)

在java.lang.ClassLoader。getResourceAsStream(未知来源)

在quickfix.SessionSettings。< init > (SessionSettings.java: 105)