掘金社区

发布掘金sdk v2.7.0版本,新增基本面数据和交易接口apiPinned highlighted

一怒拔剑 发表在掘金2 2016-01-13 04:47:09

掘金2
1826
6
0

掘金SDK发布v2.7.0版。新版SDK增加了一批基本面数据和交易接口API:基础数据方面,支持查询证券代码、指标成分股、财务指标、股本指标和市场指标;交易接口方面,支持查询与策略关联的交易账号、交易账号的资金数据、交易账号的持仓数据。交易部分的API需要与终端2.1.2以上版本配合使用。另外,对查询最近n笔历史行情的接口作了增强,支持提起指定时间点前n笔历史数据。详细内容如下:

<!--more myquant-->

[新增]查询证券交易代码和获取成分股API

数据定义

<pre><code class="language-text" data-lang="text">交易代码数据类型

class Instrument(object):

def __init__(self):
    self.symbol = &#39;&#39;                ## 交易代码
    self.sec_type = 0               ## 代码类型
    self.sec_name = &#39;&#39;              ## 代码名称
    self.multiplier = 0.0           ## 合约乘数
    self.margin_ratio = 0.0         ## 保证金比率
    self.price_tick = 0.0           ## 价格最小变动单位
    self.upper_limit = 0.0          ## 当天涨停板
    self.lower_limit = 0.0          ## 当天跌停板
    self.is_active = 0              ## 当天是否交易

成份股数据类型

class Constituent(object):

def __init__(self):
    self.symbol = &#39;&#39;                ## 交易代码
    self.weight = 0.0               ## 代码权重

</code></pre>

使用示例

<pre><code class="language-python" data-lang="python">#获取上交所所有可交易股票代码
get_instruments('SHSE', 1, 1)

#获取沪银的的全部合约代码
get_instruments_by_name('ag')

#获取上证指数的成分股
get_constituents('SHSE.000001')
</code></pre>

[新增]财务指标API

数据定义

<pre><code class="language-text" data-lang="text">财务指标

class FinancialIndex(object):

def __init__(self):
    self.symbol = &#39;&#39;                         #股票代码
    self.pub_date = &#39;&#39;                       #公告日期    
    self.eps = 0.0                           #每股收益    
    self.bvps = 0.0                          #每股净资产  
    self.cfps = 0.0                          #每股现金流  
    self.afps = 0.0                          #每股公积金  
    self.total_asset = 0.0                   #总资产      
    self.current_asset = 0.0                 #流动资产    
    self.fixed_asset = 0.0                   #固定资产    
    self.liability = 0.0                     #负债合计    
    self.current_liability = 0.0             #流动负债    
    self.longterm_liability = 0.0            #长期负债    
    self.equity = 0.0                        #所有者权益  
    self.income = 0.0                        #主营业务收入
    self.operating_profit = 0.0              #主营业务利润
    self.net_profit = 0.0                    #净利润    

</code></pre>

使用示例

<pre><code class="language-python" data-lang="python">#获取浦发银行(SHSE.600000)2013-2015的财务指标
get_financial_index('SHSE.600000', '2013-01-01 00:00:00', '2015-12-31 00:00:00')

#获取浦发银行(SHSE.600000)和平安银行(SZSE.000001)最新的财务指标
get_last_financial_index('SHSE.600000,SZSE.000001')

#获取平安银行(SZSE.000001)最新10笔财务指标
get_last_n_financial_index('SHSE.000001', 10)
</code></pre>

[新增]股本指标API

数据定义

<pre><code class="language-text" data-lang="text">股本指标

class ShareIndex(Object):

def __init__(self):
    self.symbol = &#39;&#39;                          #股票代码
    self.pub_date = &#39;&#39;                        #公告日期
    self.total_share = 0.0                    #总股本
    self.flow_a_share = 0.0                   #流通A股
    self.nonflow_a_share = 0.0                #限售流通A股

</code></pre>

使用示例

<pre><code class="language-python" data-lang="python">#获取浦发银行(SHSE.600000)[2016-01-01-2016-01-10]股本指标
get_share_index('SHSE.600000', '2016-01-01 00:00:00', '2016-01-10 00:00:00')

#获取浦发银行(SHSE.600000)和平安银行(SZSE.000001)最新的股本指标
get_last_share_index('SHSE.600000,SZSE.000001')

#获取平安银行(SZSE.000001)最新10笔股本指标
get_last_n_share_index('SHSE.000001', 10)
</code></pre>

[新增]市场指标API

数据定义

<pre><code class="language-text" data-lang="text">市场指标

class MarketIndex(Object):

def __init__(self):
    self.symbol = &#39;&#39;               #股票代码
    self.pub_date = &#39;&#39;             #公告日期
    self.pe_ratio = 0.0            #市盈率
    self.pb_ratio = 0.0            #市净率
    self.ps_ratio = 0.0            #市销率
    self.market_value = 0.0        #市值
    self.market_value_flow = 0.0   #流通市值

</code></pre>

使用示例

<pre><code class="language-python" data-lang="python">#获取浦发银行(SHSE.600000)[2016-01-01-2016-01-10]的市场指标
get_market_index('SHSE.600000', '2016-01-01 00:00:00', '2016-01-10 00:00:00')

#获取浦发银行(SHSE.600000)和平安银行(SZSE.000001)最新的市场指标
get_last_market_index('SHSE.600000,SZSE.000001')

#获取平安银行(SZSE.000001)最新10笔市场指标
get_last_n_market_index('SHSE.000001', 10)
</code></pre>

[新增]获取柜台交易账号信息API

数据定义

<pre><code class="language-text" data-lang="text">柜台账户

class BrokerAccount(object):

def __init__(self):
    self.account_id = &#39;&#39;                         # 柜台账号ID
    self.username = &#39;&#39;                           # 柜台账号
    self.permissible = 0                         # 允许交易
    self.status = 0                              # 账号当前状态

</code></pre>

使用示例

<pre><code class="language-python" data-lang="python">#获取策略关联的账户列表
get_broker_accounts()

#获取账户资金列表
get_broker_cash()

#获取账户持仓列表
get_broker_positions()
</code></pre>

[增强]可以获取截止到任何时间点的最新N笔行情

使用示例

<pre><code class="language-python" data-lang="python">#获取SZSE.000001截止到2013-10-21 00:00:00最新的10笔tick
get_last_n_ticks('SZSE.000001', 10, '2013-10-21 00:00:00')

#获取SZSE.000001截止到2013-10-21 00:00:00最新的10笔1分钟bar
get_last_n_bars('SZSE.000001', 60, 10,'2013-10-21 00:00:00')

#获取SZSE.000001截止到2013-10-21最新的10笔日线数据
get_last_n_dailybars('SZSE.000001', 10, '2013-10-21')
</code></pre>

各种语言SDK具体动态如下:

更详细情况请参考sdk的文档和示例,以及sdk中的changelog。新的SDK下载


这是一个已从原 http://www.myquant.cn/news/2016/01/13/sdk-2-7-0-release/ 中分离的主题

评论: 6
  • python3 sdk 能升级到3.5吗?

    2016-01-13 14:44:37
  • python 3.5 依赖vs 2015,改动大,需要一些时间准备,这个版本来不及了。计划下一个sdk版本支持

    2016-01-13 14:46:13
  • last_days=gmsdk.md.get_last_n_dailybars('CZCE.RM605', 10, '2015-07-21')
    期货的好像不管end_time多少,返回的bars都一样。

    2016-01-13 15:42:58
  • 股票也一样,你那个例子返回的是当前时间往前推10天的bar,跟end_time毫无关系。

    2016-01-13 15:46:06
  • last_n_tick,last_n_bar 需要日期时间格式
    last_n_dailybar 我们扩充一下,同时支持日期时间日期格式。

    2016-01-14 01:38:07
  • 使用Gmsdk-2.7.0-py2-x64-linux版本中的test_md_live.py例子获取实时数据,无论是使用demo的账号还是自己的账号,初始化返回成功,但后续无论是bar,还是tick均返回“3000,数据服务连接失败”。哪出问题了?

    2016-02-16 03:51:09

Looks like your connection to 掘金量化社区 - 量化交易者的策略交流学习社区 was lost, please wait while we try to reconnect.