精华内容
下载资源
问答
  • CTP Python API用法

    千次阅读 2019-05-19 15:00:07
    Python版本API基于Python版本win64 3.7.2,是用swig方法在官方C++ API上编译得到,完全开源,有兴趣自己编译的读者可以参考笔者CTP Python API及Demo(利用Swig 封装)Windows版(traderapi)这篇博客。此方法编译...

    一、简介

    此CTP Python API基于Python 3.7.2版本,使用时请务必安装此版本及以上版本。该API是用swig方法在官方C++ API上编译得到,完全开源,有兴趣自己编译的读者windows64版可以参考笔者
    CTP Python API及Demo(利用Swig封装)Windows版(traderapi)
    这篇博客,Linux版只需要参考笔者其他博客,更改下makefile即可。此方法编译得到的API在数据结构,参数名,函数名及用法上与C++版API完全一致,十分容易上手。

    二、文件清单

    • win64
    thosttraderapi.py  //交易头文件
    _thosttraderapi.pyd  //交易库转换文件
    thosttraderapi.dll  //交易官方动态库,穿透式版为thosttraderapi_se.dll
    thostmduserapi.py  //行情头文件
    _thostmduserapi.pyd  //行情库转换文件
    thostmduserapi.dll  //行情官方动态库,穿透式版为thostmduserapi_se.dll
    
    • linux
    thosttraderapi.py  //交易头文件,与win64平台相同
    _thosttraderapi.so  //交易库转换文件
    libthosttraderapi.so //交易官方动态库,穿透式版为thosttraderapi_se.so
    thostmduserapi.py //行情头文件,与win64平台相同
    _thostmduserapi.so //行情库转换文件
    libthostmduserapi.so //行情官方动态库,穿透式版为thostmduserapi_se.so
    
    • demo
    参考后面章节
    
    • 文档
    README.md //本文档
    6.3.15_API接口说明 //官方文档,也可至http://www.sfit.com.cn/下载
    

    三、请求函数及数据结构

    所有函数名、参数及参数数据结构都是与官方C++版一致的,可以参见上期技术官网文档。以登录请求为例:
    官方C++版:
    函数名

    virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;
    

    调用方法

    CThostFtdcReqUserLoginField reqUserLogin = { 0 };
    strcpy_s(reqUserLogin.BrokerID, “0000”);
    strcpy_s(reqUserLogin.UserID, “00001”);
    strcpy_s(reqUserLogin.Password, “123456”); 
    m_pUserApi->ReqUserLogin(&reqUserLogin, nRequestID++);
    

    Python版:
    函数名

    def ReqUserLogin(self, pReqUserLoginField: 'CThostFtdcReqUserLoginField', nRequestID: 'int') -> "int":
    

    调用方法

    loginfield = api.CThostFtdcReqUserLoginField()
    loginfield.BrokerID="0000"
    loginfield.UserID="00001"
    loginfield.Password="123456"
    tradeapi.ReqUserLogin(loginfield,0)
    

    所有的函数名均可以在相应头文件底部class CThostFtdcTraderApiclass CThostFtdcMdApi中查到,函数声明中自带了参数类型,参数结构直接在头文件中搜索就可以。至于对应的函数怎么用,请参考附带官方文档。以登录为例,找到文档中

    /6.3.15_API接口说明/交易接口/CThostFtdcTraderApi/ReqUserLogin
    

    这里面写的非常清楚。

    四、回调函数及数据结构

    所有函数名、参数及参数数据结构都是与官方C++版一致的,可以参见上期技术官网文档。以登录响应为例:
    官方C++版:
    函数名

    virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
    

    调用方法为继承该函数所在类,重写该函数调用。
    Python版:
    函数名

    def OnRspUserLogin(self, pRspUserLogin: 'CThostFtdcRspUserLoginField', pRspInfo: 'CThostFtdcRspInfoField', nRequestID: 'int', bIsLast: 'bool') -> "void":
    

    调用方法同样是继承所在CThostFtdcTraderSpi类,重写该函数,实现自己需要的逻辑。
    所有的函数名均可以在头文件底部class CThostFtdcTraderSpiclass CThostFtdcMdSpi中查到,函数名中自带了参数类型,参数结构直接在头文件中搜索就可以。

    五、Demo及其用法

    将td_demo.py文件直接拷贝到API库交易相关文件(3个)同一文件夹中,切换到该目录运行Python td_demo.py即可直接运行。md_demo.py用法相同。

    • td_demo.py实现了简单的登录,查询结算单,确认结算单并买开一手rb1909合约的功能。注意,要将td_demo.py顶部的几个参数改为你自己测试环境参数。
    • md_demo.py实现了订阅ru1909,rb1909,au1912,ag1912这4个合约的功能,可以修改SubscribeMarketData的参数订阅别的合约,同时也要注意修改底部的行情前置地址。

    六、常见问题

    1.出错直接退出

    通常都是类型对象为None,却直接使用了该对象的成员变量。以查结算单为例,返回回调中,如果输出结算单内容通常直接写成:

    def OnRspQrySettlementInfo(self, pSettlementInfo: 'CThostFtdcSettlementInfoField', pRspInfo: 'CThostFtdcRspInfoField', nRequestID: 'int', bIsLast: 'bool') -> "void":
        print ("content:",pSettlementInfo.Content)
    

    这时如果查到结算单自然没有问题,但如果查回结算单为空则直接出错退出,因为pSettlementInfo是None类型。所以正确写法应该先判断是否为空,写成如下:

    def OnRspQrySettlementInfo(self, pSettlementInfo: 'CThostFtdcSettlementInfoField', pRspInfo: 'CThostFtdcRspInfoField', nRequestID: 'int', bIsLast: 'bool') -> "void":
        if  pSettlementInfo is not None :
            print ("content:",pSettlementInfo.Content)
    

    2.待补充

    七、微信公众号

    欢迎扫二维码关注或者搜索程序化交易入门(QuantRoad2019),一起学习程序化交易!

    展开全文
  • Github 项目 - OpenPose Python API

    千次阅读 热门讨论 2019-05-30 21:47:02
    OpenPose 的 Python 模块提供了 Python API,可以用于构建 OpenPose 类(class),其输入是 numpy array 格式的图像,并得到 numpy array 格式的 Pose 位置估计. 该 Python API 还提供了直接从网络(network)得到的 ...

    OpenPose 的 Python 模块提供了 Python API,可以用于构建 OpenPose 类(class),其输入是 numpy array 格式的图像,并得到 numpy array 格式的 Pose 位置估计.

    该 Python API 还提供了直接从网络(network)得到的 heatmaps 作为输入,并提取出 pose 关键点(需要安装 Caffe Python接口).

    现阶段,Python API 仅支持 Body 姿态估计,Hands 和 Face 将来会支持.

    最近发现新近版本的 OpenPose v1.5.0 更新了 Python API 的例示.

    可分别参考:

    [1] - Github 项目 - OpenPose Python API - AIUAI

    [2] - Github 项目 - OpenPose Python API V1.5.0 - AIUAI

    展开全文
  • Bloomberg python API 获取历史数据

    千次阅读 2019-03-20 15:13:36
    Bloomberg python API 获取历史数据 https://www.bloomberg.com/professional/support/api-library/ 把这个路径加入到环境变量的Path中。 然后安装下面的包 python -m pip install –index-url=...

    Bloomberg python API 获取历史数据

    https://www.bloomberg.com/professional/support/api-library/
    在这里插入图片描述
    在这里插入图片描述
    把这个路径加入到环境变量的Path中。

    然后安装下面的包

    python -m pip install –index-url=https://bloomberg.bintray.com/pip/simple blpapi

    下面的地址有些例子

    https://github.com/buckie/blpapi-py/tree/master/examples

    # SimpleHistoryExample.py
     
    import blpapi
    from optparse import OptionParser
     
     
    def parseCmdLine():
        parser = OptionParser(description="Retrieve reference data.")
        parser.add_option("-a",
                          "--ip",
                          dest="host",
                          help="server name or IP (default: %default)",
                          metavar="ipAddress",
                          default="localhost")
        parser.add_option("-p",
                          dest="port",
                          type="int",
                          help="server port (default: %default)",
                          metavar="tcpPort",
                          default=8194)
     
        (options, args) = parser.parse_args()
     
        return options
     
     
    def main():
        options = parseCmdLine()
     
        # Fill SessionOptions
        sessionOptions = blpapi.SessionOptions()
        sessionOptions.setServerHost(options.host)
        sessionOptions.setServerPort(options.port)
     
        print ("Connecting to %s:%s" % (options.host, options.port))
        # Create a Session
        session = blpapi.Session(sessionOptions)
     
        # Start a Session
        if not session.start():
            print ("Failed to start session.")
            return
     
        try:
            # Open service to get historical data from
            if not session.openService("//blp/refdata"):
                print ("Failed to open //blp/refdata")
                return
     
            # Obtain previously opened service
            refDataService = session.getService("//blp/refdata")
     
            # Create and fill the request for the historical data
            request = refDataService.createRequest("HistoricalDataRequest")
            request.getElement("securities").appendValue("IBM US Equity")
            request.getElement("securities").appendValue("MSFT US Equity")
            request.getElement("fields").appendValue("PX_LAST")
            request.getElement("fields").appendValue("OPEN")
            request.set("periodicityAdjustment", "ACTUAL")
            request.set("periodicitySelection", "MONTHLY")
            request.set("startDate", "20060101")
            request.set("endDate", "20061231")
            request.set("maxDataPoints", 100)
     
            print ("Sending Request:", request)
            # Send the request
            session.sendRequest(request)
     
            # Process received events
            while(True):
                # We provide timeout to give the chance for Ctrl+C handling:
                ev = session.nextEvent(500)
                for msg in ev:
                    print (msg)
     
                if ev.eventType() == blpapi.Event.RESPONSE:
                    # Response completly received, so we could exit
                    break
        finally:
            # Stop the session
            session.stop()
     
    if __name__ == "__main__":
        print ("SimpleHistoryExample")
        try:
            main()
        except KeyboardInterrupt:
            print ("Ctrl+C pressed. Stopping...")
     
    __copyright__ = """
    Copyright 2012. Bloomberg Finance L.P.
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to
    deal in the Software without restriction, including without limitation the
    rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
    sell copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:  The above
    copyright notice and this permission notice shall be included in all copies
    or substantial portions of the Software.
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
    IN THE SOFTWARE.
    """
    

    在这里插入图片描述
    http://www.waitingfy.com/archives/5362

    展开全文
  • 安装tensorpack ,pythonAPI

    千次阅读 2019-02-26 22:15:38
    conda create -n your_env_name python=X.X(版本) 激活虚拟环境:conda activate your_env_name 安装tensorpack:pip install --upgrade git+...安装pythonAPI:pip install ‘git+https:...

    conda create -n your_env_name python=X.X(版本)
    激活虚拟环境:conda activate your_env_name
    安装tensorpack:pip install --upgrade git+https://github.com/tensorpack/tensorpack.git
    安装pythonAPI:pip install ‘git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI’
    安装tensorflow-gpu:pip install 'tensorflow-gpu==XXX(版本)

    展开全文
  • (一) COCO Python API - 使用篇

    万次阅读 多人点赞 2018-09-05 11:04:06
    为使用户更好地使用 COCO 数据集, COCO 提供了各种 API, 这里就 Python API 的使用做个简单介绍. 在介绍 API 之前, 首先应该对 COCO 数据集有个大概的了解. 根据年份来区分, 到目前为止, COCO 的数据集, 分别有...
  • Python API开发,FastAPI之Graphql版本! v1.0.0 学生宫布 8416837 Python 3.8FastAPI (0.1.0) 文章目录安装试水使用Conda使用IDE开发 PyCharm配置代码启动项目访问项目页面解释调用Graphql API进阶 安装 安装Fast...
  • 尝试通过Python API操作Elasticsearch
  • 如何在Apache Flink中使用Python API

    千次阅读 2019-09-10 17:14:35
    导读:本文重点为大家介绍 Flink Python API 的现状及未来规划,主要内容包括:Apache Flink Python API 的前世今生和未来发展;Apa...
  • 如何在 Apache Flink 中使用 Python API

    千次阅读 2019-09-05 21:15:00
    导读:本文重点为大家介绍 Flink Python API 的现状及未来规划,主要内容包括:Apache Flink Python API 的前世今生和未来发展;Apa...
  • UE4中使用Carla——开发添加自定义PythonAPI1.简述2.开发添加自定义PythonAPI3.效果 1.简述 在这里,我们假定读者已经安装并对整体框架有了一定掌握,请参考下文安装配置和理解: UE4中使用自动驾驶模拟——Carla 在...
  • openstack python api 开发

    千次阅读 2015-12-13 21:51:01
    获取openstack代码 ... 复制url,用git 获取代码 ...Python API 例如,对计算资源的操作 获取认证 nova list 创建虚拟机 删除虚拟机 PyCharm 开发环境 Eclipse+pydev 开发环境 环境要求: Ecl
  • ipfs python API及使用(一)

    千次阅读 2018-09-21 09:58:10
    python API具体网址可参考: https://github.com/ipfs/py-ipfs-api 在进行python编程操作之前需要进行ipfs的python包的安装,使用命令为: pip install ipfsapi 安装成功之后就可以编程进行使用,建立一个test....
  • 但是使用其Python API的去调用时总是报错: ImportError:cannot import name pyopenpose 路径已经按照文件中提示的样子改成....../openpose/build/python 但还是报错。 原因是!ubuntu系统里自带python2.7和...
  • OpenStack Python API

    千次阅读 2018-05-24 22:15:45
    通过python调用openstack组件的api是非常方便的。因为各个组件都有自己的client模块。我们如果要通过python调用openstack的api,也只需要使用它的client模块就行了。下面是一个通过cinderclient调用cinder api的简单...
  • ArcGIS Python API是Esri最新出品的一套用于控制Online & Portal的Python API,与ArcPy有本质的区别,它主要的功能都用于WebGIS的应用,虽然简单,但是功能极其强大,今天给大家演示一个效果灰常流弊的功能:从...
  • 1、打开pythonAPI下的makefile文件,看里面是python还是python3,根据实际需求更改,我这里用的都是python3命令,所以把里面的python改成了python3。 2、接下来的命令: $ make $ sudo make install $ sudo ...
  • weibo python api 初尝试

    千次阅读 2012-03-16 07:21:58
    今天下载了新浪微博的apipython版本的。不过后来发现新浪平台上的python api 居然不是官方版本,而是由廖雪峰提供的。这个版本的python api只适合用于网站开发,不合适用于客户端开发。因为本来是不知道这些的,...
  • Cplex 参数笔记(Python API

    千次阅读 2018-02-08 16:05:39
    Cplex 参数笔记(Python API)最近一直做Cplex用于大规模实例的结果验证(与现有的算法和已经优化的算法进行对比);颇有一些感触,记录下来,以防遗忘。首先是模型搭建:Cplex计算占内存极大,所以一定要把模型构建...
  • blender python api解析

    千次阅读 2018-12-17 16:41:57
    Python的控制台是一个快速来执行命令的方法,以访问整个PythonAPI,命令历史记录和自动完成功能。 可以通过控制台来探索可能性,然后将命令粘贴到脚本。 简介 访问内置的Python控制台 通过按 Shift-F4 在任何...
  • OpenPose Python API 调用方法 cmake-gui选项中勾选BUILD_PYTHON选项 cd build sudo make -j‘’ sudo make install cd ~/your_openpose_dir/examples/tutorial_api_python python3 01_body_from_image.py 可能...
  • 初识Django —Python API接口编程入门

    千次阅读 2016-02-18 16:21:48
    Python API接口编程入门 一、WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成。我们的目标是用Python语言,基于Django框架,利用MVC模型,实现后台方面的针对数据库的API...
  • Spark Python API 学习(1)

    千次阅读 2017-03-06 11:04:50
    Spark Python API 学习初识Spark    最近刚刚接触Spark,想写一些学习笔记,记录自己每天的学习过程,顺便激励自己的,写的不一定对,只是自己对Spark的一些理解,如有错误,恳请大神批评指正,第一次写博客,...
  • ZED SDK安装 配置ZED,主要看官方说明文档 安装ZED SDK 注意下载对应版本,TX2 JetPack3.2 CUDA9 安装指令 chmod +x ZED_SDK_Linux_*.run ...Python API 安装 下载 ZED Python API 安装依赖库python -...
  • 本地化环境下ArcGIS Python API中的SSL及locale的bug修复过程 进来试用ArcGIS Pro和对应的ArcGIS Python API,遇见各种问题……新产品还是不成熟啊,特别是官方中文版还没有出来的时候,各种本地问题话噌噌噌...
  • 个人觉得Binary Ninja很优秀的二进制分析工具,这里简单来总结一下其Python API的使用方法(Ubuntu系统): 首先Binary Ninja在Ubuntu上基本上是绿色软件,不需要安装,在这里有介绍:...
  • 5.7 Python API(for Elasticsearch)

    千次阅读 2016-03-02 01:04:09
    5.7 Python API 原文链接 翻译:AbnerGong概述(Overview)正式的初级(low-level)客户端。它的目标是为了所有的Elasticsearch相关的Python代码提供基础;为此(because of this)它尝试成为舆论自由的(opinion-free)...
  • protobuf python api

    千次阅读 2014-01-10 21:05:40
    摘要: python中一切都可以看作类。那么如何查看每个类的API。...此处所有的api说明:https://developers.google.com/protocol-buffers/docs/reference/python/google.protobuf.message.Message-class
  • mininet python api

    千次阅读 2016-05-05 15:24:00
    Mininet’s API is built at three primary levels:* Low-level API: The low-level API consists of the base node and link classes (such as Host,Switch, and Link and their subclasses) which can actually be...
  • ArcGIS Python API 是Esri最新(也不算新了,起码快满一年了)推出的一个神奇的包,这个可以让你能够在本地通过jupyter的网页化特色,利用Python来控制Online,实现地图可视化以及数据分析等等功能。 因为近来在...
  • 安装pycocoapi,pip install "git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI"出错原因解决方法 原因 墙了,国外访问链接失败 解决方法 pip install “git+...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,163
精华内容 38,465
关键字:

pythonapi

python 订阅