返回首页
量化投资,高频交易,程序化交易学习必备~900+个(200G+)培训视频持续更新中!!!
当前位置: 主页 > 股票程序化交易 >

股票程序化交易初探-续

时间:2016-04-03 14:49来源:未知 作者:杨清婉 点击:
谢谢网友支持才会有了 程序化交易 的续集,在接口搞定之后当然是要开始实际的交易了, 使用接口进行买卖 准备: 所使用的接口在上篇文章中都已提到 买 因为实际测试了几次,以下是接口各参数的意义 request_id=buystock_302stock_account=沪深账号 exchange_ty

  谢谢网友支持才会有了程序化交易的续集,在接口搞定之后当然是要开始实际的交易了,

  使用接口进行买卖

  准备:

  所使用的接口在上篇文章中都已提到

  

 

  买

  因为实际测试了几次,以下是接口各参数的意义

  &request_id=buystock_302&stock_account=沪深账号

  &exchange_type=1 #沪市1 深市2

  &entrust_prop=0 #委托方式,因为我使用的都是默认的普通委托,所以为0不变

  &entrust_bs=1 #买入1 卖出2 不变

  &stock_code=股票ID&entrust_price=价格&entrust_amount=数量

  &elig_riskmatch_flag=1 #这个是用户风险等级,不变

  先拼接url生成对应的接口格式:

  以下命令表示我们以SZ账户在 SZ市场 以0.58的价格买入162411(华宝油气)100股

  account->沪深账户 | market->市场ID | stockid->股票代码 | price->价格 | amount->数量

  url = api['buy'].format(account=SZACCOUNT, market=SZ, stockid='162411', price='0.58', amount='100')

  生成的url:

  'https://jy.yongjinbao.com.cn/winner_gj/gjzq/stock/exchange.action?CSRF_Token=undefined×tamp=0.11111111111111111&request_id=buystock_302

  &stock_account=股票账户 # account = SZACCOUNT

  &exchange_type=2 # SZ = 2

  &entrust_prop=0

  &entrust_bs=1

  &stock_code=162411 # stockid = '162411'

  &entrust_price=0.58 # price = '0.58'

  &entrust_amount=100 # amount = '100'

  &elig_riskmatch_flag=1'

  执行命令:

  r = requests.get(url, cookies=ck)

  返回的数据格式

  {

  entrust_no: '委托编号',

  init_date: '发生日期',

  batch_no: '委托批号',

  report_no: '申报号',

  seat_no: '席位编号',

  entrust_time: '委托时间',

  entrust_price: '委托价格',

  entrust_amount: '委托数量',

  stock_code: '证券代码',

  entrust_bs: '买卖方向',

  entrust_type: '委托类别',

  entrust_status: '委托状态',

  fund_account: '资金帐号',

  error_no: '错误号',

  error_info: '错误原因'

  }

  错误号在正常执行时值为0,由此可判断命令是否出错

  查看持仓:

  r = requests.get(api['chican'], cookies=ck)

  返回的数据:

  [{'cost_price': '0.681', # 成本价

  'current_amount': '100', # 当前数量

  'enable_amount': '100', # 可用数量

  'income_balance': '-11.100', # 浮动盈亏

  'keep_cost_price': '0.681',

  'last_price': '0.570',

  'market_value': '57.000', # 证券市值

  'position_str': '定位用的字符串,无意义',

  'stock_code': '162411',

  'stock_name': '华宝油气'}]

  观察证券数量可见已经成功执行

  卖出

  接口参数

  &service_type=stock&request_id=sellstock_302

  &stock_account=股票账户

  &exchange_type=2 # 沪市1 深市2

  &entrust_prop=0 # 同上

  &entrust_bs=2 # 买入1 卖出2

  &stock_code=162411 # 股票代码

  &entrust_price=0.56 # 价格

  &entrust_amount=100' # 数量

  拼接url

  以下命令表示我们以SZ账户在 SZ市场 以 0.56的价格卖出162411(华宝油气)100股

  account->沪深账户 | market->市场ID | stockid->股票代码 | price->价格 | amount->数量

  url = api['sell'].format(account=SZACCOUNT, market=SZ, stockid='162411', price='0.56', amount='100')

  生成的url:

  'https://jy.yongjinbao.com.cn/winner_gj/gjzq/stock/exchange.action?CSRF_Token=undefined×tamp=0.11111111111111111&service_type=stock&request_id=sellstock_302&stock_account=深市账号&exchange_type=2&entrust_prop=0&entrust_bs=2&stock_code=162411&entrust_price=0.56&entrust_amount=100'

  执行

  r = requests.get(url, cookies=ck)

  查看持仓

  r = requests.get(api['chican'], cookies=ck)

  返回的数据

  [{'cost_price': '0.000',

  'current_amount': '0', # 当前数量

  'enable_amount': '0', # 可用数量

  'income_balance': '-11.100',

  'keep_cost_price': '0.000',

  'last_price': '0.571',

  'market_value': '0.000', # 证券市值

  'position_str': '定位字符串,无意义',

  'stock_code': '162411',

  'stock_name': '华宝油气'}]

  观察证券数量发现已经归0可见卖出成功

  证实

  我们去web客户端截取一下我们委托记录看看是否 正常执行

  

 

  结尾

 

  其实,在发现接口之后要实现我们想要的功能,不过是对接口进行组合拼接了。可以优化的地方还有很多,希望此文对大家有所帮助。

 
(责任编辑:admin)
量化投资,高频交易,程序化交易学习必备~900+个(200G+)培训视频持续更新中!!!
------分隔线----------------------------
云量化商城
如果您会开发策略,请进!大量项目等待与您合作!
推荐内容
量化投资培训