我刚刚开始尝试通过FIX协议连接到我的代理。
经纪人给了我:
- 要连接到的 IP:端口地址
- a "sendercompid"
- 一个"目标组合"
- 一个密码
作为第一个测试,我想简单地向代理发送一条登录消息,并希望从中收到一条消息。我本以为这应该可以用一个简单的小 python 脚本来实现吗?
(即我对安装一个成熟的 Python 引擎/或使用 C++ 语言的包装器(如 Quickfix)不感兴趣)
编辑:更准确地说:我在 PHP 中做(或尝试)这样的事情的例子中发现了,例如:
$fp = fsockopen($host, $port, $errno, $errstr, 3.0);
if ($fp)
{
$request = "8=FIX.4.49=11235=A49=SENDER56=RECEIVER34=152=20130921-18:52:4898=0108=30141=Y553=user554=pass10=124";
echo $request;
fwrite($fp, "GET / HTTP/1.0rn" .
"Host: $hostrn".
"Connection: closern".
"Content-Length: " . strlen($request) . "rn" .
"rn" .
$request);
stream_set_timeout($fp, 2, 0);
$response = '';
while (!feof($fp))
{
$response .= fread($fp, 1024);
}
print "Response: ".$response . "<BR>n";
fclose($fp);
}
你知道我可以使用哪个库在python中以相同的方式简单地向FIX服务器传达(即发送/检索)消息吗?
好吧,没有标准的python库。
你提到了快速修复,这是一个似乎维护的大项目,并且有文档。
寻找其他第三方库,有一个较小的库,但仅适用于python2.6或2.7,名为fixlib,目前托管在github上(PyPI和bitbucket版本似乎已被放弃;github版本在6个月前已经活跃)。主要不便:没有文件。
查看这两个库的代码表明它们并不完全"小",所以如果你不想使用它们中的任何一个,因为你肯定必须从头开始重写类似的代码,你最好忘记一个"简单而小的python脚本"。
如果您想通过FIX连接在FIX协议中进行测试,您可以尝试使用FIXRobot。FIXRobot允许用python轻松编写测试。