Gem CStock:一个抓取股票交易信息的 gem

phun · 2015年06月03日 · 最后由 hging 回复于 2015年06月09日 · 12327 次阅读

最近股票比较热,之前写的一个 gem,拿来分享,还不太成熟但是 it works,源码在https://github.com/astonfu/cstock.

cstock

Quote chinese stock infomation.

It crawl infomation from "hq.sinajs.cn/list=", and include the below info:

股票代码 股票名 开盘价 昨日收盘价 当前价 今日最高 今日最低 买一价 卖一价 成交量 成交额

买一挂单 买一价 买二挂单 买二价 买三挂单 买三价 买四挂单 买四价 买五挂单 买五价

卖一挂单 卖一价 卖二挂单 卖二价 卖三挂单 卖三价 卖四挂单 卖四价 卖五挂单 卖五价

日期 时间

as

code name open_price yesterday_close_price current_price high_price low_price bid_price ask_price volume turnover

bid_volume_1 bid_price_1 bid_volume_2 bid_price_2 bid_volume_3 bid_price_3 bid_volume_4 bid_price_4 bid_volume_5 bid_price_5

ask_volume_1 ask_price_1 ask_volume_2 ask_price_2 ask_volume_3 ask_price_3 ask_volume_4 ask_price_4 ask_volume_5 ask_price_5

date time

usage

gem install cstock

require 'cstock'

stock = CStock::Stock.new('600000')
stock.name  #=> 浦发银行
stock.股票名 #=> 浦发银行
stock. open_price #=> 16.00

# wrong stock code, its attrs will be nil
stock = CStock::Stock.new('错误的')
stock.name   #=> nil

# refresh data
stock.refresh

# refresh multi stocks at one quote
CStock::Stock.refresh([stock1, stock2])

Read spec for more usage.

in terminal

% cstock 600000

股票代码 : 600000
股票名 : 浦发银行
开盘价 : 16.00
收盘价 : 16.18
当前价 : 16.20
今日最高 : 16.29
今日最低 : 15.93
买一价 : 16.20
卖一价 : 16.21
成交量 : 320361507
成交额 : 5171219071
买一挂单 : 12400
买一价 : 16.20
买二挂单 : 532100
买二价 : 16.19
买三挂单 : 815459
买三价 : 16.18
买四挂单 : 574500
买四价 : 16.17
买五挂单 : 358300
买五价 : 16.16
卖一挂单 : 773560
卖一价 : 16.21
卖二挂单 : 1226841
卖二价 : 16.22
卖三挂单 : 1063620
卖三价 : 16.23
卖四挂单 : 1037567
卖四价 : 16.24
卖五挂单 : 2292649
卖五价 : 16.25
日期 : 2015-04-03
时间 : 15:04:04

顶楼主,消灭 0 回复

顶,tested it work.

之前我也写过一个 gem 叫sina_stock_interface 感觉一个用处。不过我返回的是数组 .不是 hash. 在使用过程中经常会遇到 sina 获取超时问题,不常出现,但是能监控到异常。

选择的数据源是什么?

#3 楼 @hging sina 最多每次获得 800 支股票(整数)的信息,目前使用上虽然很慢,但几乎没有超时

有找到自动化交易的方法吗?

#7 楼 @qichunren 这个要掏钱买接口(正规的方法)。其它还在研究中

#5 楼 @phun 不定时有时会有那么几次超时的。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号