程序化交易初探-续

前篇程序化交易的续集,在搞定接口之后自然是进行实际的交易了,因为我的账户只有300块,交易一次就要5元,本人目前失业在家,实在伤不起,多谢网友支持所以才有了这个续篇。

使用接口进行买卖

准备:

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



因为实际测试了几次,以下是接口各参数的意义
&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&timestamp=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&timestamp=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客户端截取一下我们委托记录看看是否 正常执行



结尾

还有很多可以优化的地方,因为不知道股票代码跟沪深的关系,所以写死了沪深ID和账号。
其实在发现接口之后剩下的功能不过是对接口进行组合拼接以实现我们想要功能。
顺便希望集思路能提供更为完善的markdown编辑器。
如果你觉得我的文章不错的话,( ̄▽ ̄)"

1金币8金币18金币58金币88金币188金币
其它金额

余额不足,立即充值
我的金币余额:个
支付即为同意 集思录答谢协议
发表时间 2015-09-02 11:49

赞同来自: 璃夜释 zzzlondon unifly cat sycityhunter ic clar 相宇 llcai 量化投机者 byteboy更多 »

0

西胖子 - WX:jsl_xipangzi 有一个期权群,共同学习吧。

赞同来自:

这个怎么会没人顶。
2015-09-02 13:57 0 条评论
1

unifly - 不可证伪的理论都是耍流氓

赞同来自: pandabao1306

我顶啊,熊市开着机器自动收钱,我确实有点把持不住了……
2015-09-02 14:07 0 条评论
0

塔塔桔 - 足够低的价格是抵御一切风险的法宝

赞同来自:

现在测试50etf呀.几百块就收几毛而已.楼主换券商
2015-09-02 14:15 0 条评论
0

TuWangWang

赞同来自:

介绍几个券商,好不好呀?谢谢哦。
2015-09-02 14:38 3 条评论
0

止一之路

赞同来自:

2015-09-02 15:13 0 条评论
0

vanity

赞同来自:

楼主好样的!
2015-09-02 15:18 0 条评论
0

lzyeasyboy - 切伦科夫效应

赞同来自:

很赞啊!!!
2015-09-02 16:16 0 条评论
0

thomaswangha

赞同来自:

不错,回家写个程序测试
2015-09-02 16:53 0 条评论
1

playl

赞同来自: jok331

测试511990 0手续费 不过好像一手要1万
2015-09-02 17:08 0 条评论
0

oliverwang

赞同来自:

顶楼主
2015-09-02 17:18 0 条评论
1

llhe

赞同来自: hgxxx007

非交易时间测试就行了,很简单
2015-09-02 18:31 2 条评论
0

tester005

赞同来自:

好,可以自动网格了
2015-09-02 18:38 0 条评论
0

euyuil - 牛跃 - 软件工程师 - 集思录为什么不能改昵称啊

赞同来自:

码农也有失业的,怎么可能啊
2015-09-02 18:50 2 条评论
0

tianji2008 - 89年新韭菜

赞同来自:

顶上!
2015-09-02 19:30 0 条评论
0

hankfumail - IT男

赞同来自:

学习。我也想做一个。
2015-09-02 22:48 0 条评论
0

cliu0207 - 苦逼穷屌盼望财务自由之梦

赞同来自:

学习了,有空就搞
2015-09-02 23:16 0 条评论
0

tianji2008 - 89年新韭菜

赞同来自:

mark
2015-09-03 00:19 0 条评论
0

tovy520

赞同来自:

高手在民间!
2015-09-03 02:53 0 条评论
0

yc850k - 0开发量化分析工具:https://guorn.com/?i=1256437

赞同来自:

赞啊
2015-09-03 07:30 0 条评论
0

prowsfield - 注册电气工程师

赞同来自:

511990交易是免费的吧
2015-09-07 16:30 0 条评论
2

丹文 - 金融工程师

赞同来自: jok331 dxplxy

从客户端下手更简单,用win 句柄 直接下单即可,毫秒级下单
2015-10-29 12:08 1 条评论
0

jok331

赞同来自:

我打算做一个
2015-10-29 12:53 0 条评论
0

长风几万里

赞同来自:

顶啊!
2015-10-29 16:26 0 条评论
0

见心见性 - 分级基金好

赞同来自:

交易的功能有了,但是还得有交易策略。不过,楼主,还是先找份工作吧
2015-10-29 16:51 0 条评论
0

小伞户

赞同来自:

这种https://jy.yongjinbao.com.cn/的 https接口安全吗,怎么感觉只要知道别人的证券账号,就可以操纵别人账户一样?
2015-10-29 17:01 0 条评论
0

s52510447

赞同来自:

看不懂,帮顶
2015-10-29 17:05 0 条评论
0

ck0630

赞同来自:

这样接入合法合规吗?
2015-10-29 17:11 0 条评论
0

逐利

赞同来自:

我顶你,但是你这么有想法,我觉得还是应该找个好的平台发挥,让自己价值兑现。我是主观交易,程序化基本不信任,我觉得可能有时候可能出现极限性错误,可能验证不出来。
2015-10-29 17:14 0 条评论
0

haydengao - 指数增强 轮动党一切均可轮起来

赞同来自:

我已经实现了web代码,实际交易了几个礼拜,效果肯定比手工强,问题是总毫无规律的超时退出登录,重新手工登录,会好几次才登上去,怎么破解?安全控件,不知道怎么破,所以一直是手工登录的
2015-10-29 19:52 2 条评论
0

量化投机者 - 技能书点错的码农,雪球同名ID

赞同来自:

我今天开始写,争取元旦上线,向楼主致敬!
2015-12-01 17:23 0 条评论
0

flyfish913

赞同来自:

恩 准备搞一个java版本的 对接matlib策略,思路很赞
2015-12-18 17:39 0 条评论
0

byteboy - 职业个人投资者

赞同来自:

赞一个!过两天实现一把去
2016-01-12 16:00 0 条评论
0

joseph

赞同来自:

现在web借口还能用吗
2016-11-10 21:45 1 条评论
0

charlie523 - 喜欢股票,喜欢python,喜欢易经八卦

赞同来自:

楼主,我在使用你的easytrader,广发证券web交易的加密帐号与密码 现在好像抓不出来了啊。有什么方法解决吗,让广发证券可以程序化交易
2016-12-11 15:22 0 条评论
0

食物 - easytrader 作者,公众号「食灯鬼」

赞同来自:

@charlie523 不支持广发的新版,你需要去旧版抓取密码
2016-12-12 11:16 0 条评论
1

charlie523 - 喜欢股票,喜欢python,喜欢易经八卦

赞同来自: su112wei

广发证券web交易的旧版在哪里,没有找到有啊?
2016-12-12 13:46 0 条评论
0

股足干劲

赞同来自:

学习了,一样集思录多一些这样的帖子
2019-05-03 18:34 0 条评论

要回复问题请先登录注册