FIX协议简单测试登录 - python

我刚刚开始尝试通过FIX协议连接到我的代理。

经纪人给了我:

要连接的IP:端口地址
一个“发送者麻烦”
一个“ targetcompid”
密码

作为第一个测试,我希望将登录消息发送给代理,并希望从中收到消息。我本以为使用简单的小型python脚本应该可行吗?

(即我对安装功能完善的python引擎不感兴趣,或者对c ++语言(例如quickfix)使用包装器)

编辑:
更准确地说:
我在SO示例中找到了在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.0\r\n" .
        "Host: $host\r\n".
        "Connection: close\r\n".
        "Content-Length: " . strlen($request) . "\r\n" .
        "\r\n" .
        $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库。

您提到了quickfix,这是一个似乎已维护并有文档的大型项目。

在寻找其他第三方库时,有一个较小的库,但仅适用于python2.6或2.7,命名为fixlib,目前为hosted on github(PyPI和bitbucket版本似乎已被放弃; github版本已于6个月前启用) )。主要不便:没有文档。

查看这两个库的代码,它们并不是完全“很小”,因此,如果您不想使用它们中的任何一个,因为您肯定需要从头开始重写类似的代码,则最好不要使用“简单而小的python脚本”。

Python-crontab模块 - python

我正在尝试在Linux OS(CentOS 7)上使用Python-crontab模块我的配置文件如下:{ "ossConfigurationData": { "work1": [ { "cronInterval": "0 0 0 1 1 ?", "attribute&…

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

如何从python向终端(linux)发送多个命令? - python

我想向Linux终端发送命令以运行python脚本。我有一个要运行的python文件列表,当我们顺序阅读该列表时,我想一个接一个地运行它们。第一个文件完成后,应发送第二个文件以运行,依此类推。 参考方案 您可以使用以下命令顺序运行脚本:python script1.py && python script2.py && pyth…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

Python Pandas导出数据 - python

我正在使用python pandas处理一些数据。我已使用以下代码将数据导出到excel文件。writer = pd.ExcelWriter('Data.xlsx'); wrong_data.to_excel(writer,"Names which are wrong", index = False); writer.…