如何快速取得股票历史交易数据交易历史数据

[转载]获取股票数据的2个简单方法
/home.php?mod=space&uid=461456&do=blog&id=455211
1.原文地址:
实时股票数据接口大全
股票数据的获取目前有如下两种方法可以获取:
1. http/javascript接口取数据
2. web-service接口
<font STYLE="font-size: 12 font-family: 'Microsoft Yahei',Tahoma,Verdana,A" COLOR="#.http/javascript接口取数据
1.1Sina股票数据接口
以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据
/list=sh601006
这个url会返回一串文本,例如:
var hq_str_sh601006="大秦铁路, 27.55, 27.25, 26.91, 27.55, 26.20,
26.91, 26.92,&
95, 26.91, 5, 1,
&26.88, 1, , ,
1, 2, 1, ,
15:05:32";
这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从0开始。
0:”大秦铁路”,股票名字;
1:”27.55&P,今日开盘价;
2:”27.25&P,昨日收盘价;
3:”26.91&P,当前价格;
4:”27.55&P,今日最高价;
5:”26.20&P,今日最低价;
6:”26.91&P,竞买价,即“买一”报价;
7:”26.92&P,竞卖价,即“卖一”报价;
8:”&P,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
9:”&P,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;
10:”4695&P,“买一”申请4695股,即47手;
11:”26.91&P,“买一”报价;
12:”57590&P,“买二”
13:”26.90&P,“买二”
14:”14700&P,“买三”
15:”26.89&P,“买三”
16:”14300&P,“买四”
17:”26.88&P,“买四”
18:”15100&P,“买五”
19:”26.87&P,“买五”
20:”3100&P,“卖一”申报3100股,即31手;
21:”26.92&P,“卖一”报价
(22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况”
30:”&P,日期;
31:”15:05:32&P,时间;
一个简单的JavaScript应用例子:
&script&type="text/javascript"&src="/list=sh601006"&charset="gb2312"&&/script&
&script type="text/javascript"&
elements=hq_str_sh601006.split(",");
&document.write("current&price:"+elements[3]);
这段代码输出大秦铁路(股票代码:601006)的当前股价
current price:14.20
如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,就这样使用URL:
/list=sh601003,sh601001
查询大盘指数,比如查询上证综合指数(000001):
/list=s_sh000001
服务器返回的数据为:
hq_str_s_sh000001="上证指数,8.073,-3.97,8126";
数据含义分别为:指数名称,当前点数,当前价格,涨跌率,成交量(手),成交额(万元);
查询深圳成指数:
/list=s_sz399001
对于股票的K线图,日线图等的获取可以通过请求/…./…/*.gif此URL获取,其中*代表股票代码,详见如下:
查看日K线图:
/newchart/daily/n/sh601006.gif
分时线的查询:
/newchart/min/n/sh000001.gif
日K线查询:
/newchart/daily/n/sh000001.gif
周K线查询:
/newchart/weekly/n/sh000001.gif
月K线查询:
/newchart/monthly/n/sh000001.gif
1.2 Baidu&Google的财经数据
google中搜索某只股票代码时,将会在头条显示此股票的相关信息,例如在google搜索601006时,
第一条搜索结果如下图:
通过点击左边的图片我们发现会将此图片链接到sina财经频道上,也就是说google股票数据的获取也是从sina获取。后经抓包分析,发现google也是采用1.1中介绍的接口。
Baidu的股票数据来自baidu的财经频道
==================================
这个方法作者页面上说过不得转载,所以摘抄一段:
剩下的在(实际上是上面方法的Java版)
股有一段时间了,发现现在的股票行情软件在很多情况下并不是太好用,我炒股的时候喜欢看盘口的实时交易记录,如果同时关注多支股票的话,我用过的行情软件
没有找到同时观看多支股票盘口交易数据的功能,另外在工作的时候使用目前的行情软件也不太方便。所以打算自己写个专门的行情软件,但是数据源是个最棘手的
问题,经过搜索和不懈的努力,找到了两种方式:
通过webservice调用,该网站提供了免费的和收费的服务,但是免费的限制了每天的请求次数,在此不太实用。
调用sina专门的js服务器来解析数据,这种方式我使用了有很长一段时间,速度还是相当不错的,有时候比专门的行情软件的实时数据还快,下面是获取数据的部分代码:
3. 从新浪获取历史数据的方法:
这几天在网上找股票的历史数据想研究研究,最后找到一个不错的接口,来自于雅虎,是在一个博客上找到的,地址为:&。不过这个不是我第一个找到的接口,最初始我是想直接解析新浪的历史交易页面,不过那个数据不是很全,只有大概近2个多月的数据。下面我把解析的脚本贴出来,主要是为了再次演示正则表达式的无穷魅力,因为解析的关键无疑是在一句正则表达式上!
$stockCode = 600000
-f $stockCode
$wc = New-Object System.Net.WebClient
$content = $wc.DownloadString($url)
$reg = "&a
target='_blank'\s+href='http://biz..cn/stock/history_min.php\?symbol=sh\d{6}&date=\d{4}-\d{2}-\d{2}'&\s*([^\s]+)\s+\s*
\s*&td[^\d]*([^&]*)
\s+&td[^\d]*([^&]*)
\s+&td[^\d]*([^&]*)\s+&td[^\d]*([^&]*)\s+"
$result = [RegEx]::matches($content, $reg)
foreach($item in $result)
&&& $date =
$item.Groups[1].Value # 时间
&&& $opening =
$item.Groups[2].Value # 开盘
&&& $maxHigh =
$item.Groups[3].Value # 最高
&&& $closing =
$item.Groups[4].Value # 收盘
&&& $maxLow =
$item.Groups[5].Value # 最低
&&& Write-Host
$date $opening $maxHigh $closing $maxLow
4.&编程获取所有股票的历史数据
上篇文章写的是投资组合的计算,其中用到的大量数据不太好找。各种免费的股票软件基本上也只能一次导出一只股票的历史价格,我不想傻傻地坐在电脑面前点鼠标点上十几二十个小时。
下面把获得方法详细写出来,希望对大家有用,对自己也是个记录。
看了各大财经网站的情况后,发现yahoo能提供些不错的免费午餐。在yahoo财经上下载股票的“历史价格”时,能看到“XML数据下载”这一项。这比
分页的HTML数据好解析多了。至于网上流行的sina股票数据接口嘛,不提供历史价格,只有当前价格(或者有我不知道)。点击链接,发现是:
/stock/xml/000001.ss_day.xml
很好。一看就明白。数据有:
ref="date"&行情日期&/label&
ref="open"&开盘价&/label&
ref="high"&最高价&/label&
ref="low"&最低价&/label&
ref="close"&收盘价&/label&
ref="volume"&成交量&/label&
ref="amount"&成交额&/label&
这下发达了!
使用python,很容易写出多线程的抓取网页程序。
线程库:threading
网页抓取:urllib2
XML解析:xml.dom
HTML解析:SGMLPaser
意,由于数据较多,使抓取失败的因素是很多的,所以做好出错处理。一次抓不下来,我抓2次!我就是这么无耻地处理的:发现抓取失败,就循环他5次!谁让你
提供了免费午餐?我有义务履行套利者的义务。用钱买数据?钱多烧的吧?(如果你发现哪款免费行情软件能下载所有股票的所有历史数据的,别告诉我)。
而在yahoo财经上,发现总市值不好抓取,不在其源代码中出现。用了ajax?也没找到相关的javascript代码。算了,对web技术咱也不太熟。
后来发现在baidu财经上提供的信息比较好抓取,就用它了。
至于公司代码嘛,一两千个,手工一个个查也很费劲。还好,交易所主页都能方便找到。这方面深交所比上交所做得好点,直接有EXCEL文件下载。
几经调试,OK。全抓下来了。相关python代码可点击下面的链接下载。
友情附上上市公司代码文件。fetch_market_cap.py/
fetch_data.py是主程序,其它的是模块。具体见readme.
抓取来的数据都是CSV文件,用python/perl/awk/sed处理都方便至极。
买数据?笑话!将免费进行到底。
已投稿到:查看: 7048|回复: 0
阅读权限100积分2736精华0帖子
散户之光, 积分 2736, 距离下一级还需 64 积分
签到天数: 6 天连续签到: 1 天[LV.2]偶尔看看I金币49 热心119 奖励974 注册时间
& &&&上周和全国50名实战派高手一起交流学习,共同探讨交易致胜之道,其中有位来自上海的朋友,其公司拥有30名专业的期货交易员,平均年化回报率都在100%以上,可谓人才济济,当我向其追问这些交易员是如何寻找到的,他告诉我都是公司自己培养的,这让我很惊讶,甚至可以说是震惊,向其请教是如何培养出如此众多的优秀交易员?
  他说他们有一套完整的训练体系,其中非常重要的一点是要求每位交易员每天撰写交易日志,每天都对自己的交易进行认真的分析,记录下每天的交易次数,交易品种,交易方向,胜率,收益率等基本数据,并且写下每天的交易心得和后期的交易计划,更为重要的是要画出每个账户的资金曲线,让自己非常清楚交易成绩,并且对于资金曲线也要认真分析,知道自己何时处于最佳状态,并且拿自己的资金曲线和市场行情做比较,看看自己到底在何种状态下能取得最佳收益,也就是说要让每个交易员都明白自己最适合哪种行情以及在哪种行情下最容易造成损失,从而在今后加以改正!
  听到这里我终于明白了差距,原来一个小小的交易日志里也有这么多的学问,看来要成为专业选手还有很长的路要走,但同时让我欣慰的是,这也让我更加确信了一点,优秀的交易员是可以培养出来的,只要我们能够按照专业的方法要求自己,就一定能够成功。
  由此我联想到做为股票的投资者,每天的交易日志都需要记录哪些内容呢?起码有如下的内容需要我们记录下来,每天的大盘分时图走势,日线、周线、月线的具体情况,当天的热点板块,当天领涨和领跌的个股,当然还有自己的仓位状况,以及自己手中持仓股票的走势情况,当然如果有交易的化,也必须要有交易记录以及交易的理由,并且也要自行制作资金曲线,同时可以将自己的资金曲线和大盘走势进行对比,这样可以明确的看出自己的操作风格适合什么样的大盘状态,当然也要记录交易的胜率,知道平均盈利率,同时要将最大盈利的股票买卖原因记录下来,如果按照基本面选股,要知道其中的逻辑,如果是按照技术面选股,就要将股票的图表存档,将来遇到同样图形就可以继续买入。如果有可能也要将导致大幅亏损的股票交易理由记录下来,看看到底是哪里出了问题,今后遇到这样的问题也许就可以化解掉,只要坚持按照这样的原则对于帐户进行检测,并且不断总结,相信做对的机会会越来越多,做错的时候会越来越少,长期以往,想不成为赢家恐怕都难呢?
  问题的关键是,您是否发自内心的想成为顶尖高手,您是否能够真正做到如此认真,您是否能够坚持到最终走向成功的那一天?
  我能!您呢?
: &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&: : &&&&:
我能参加的活动
实盘直播室推荐
本站声明:1、本站所有广告均与MACD无关;2、MACD仅提供交流平台,网友发布信息非MACD观点与意思表达,因网友发布的信息造成任何后果,均与MACD无关。
MACD金融网()官方域名:  
MACD金融网校()官方域名:
值班热线[9:00—18:00]:400-018-9268(免费)
24小时网站应急电话:
找回密码、投诉QQ:
友情链接QQ:
广告商务联系QQ:
中华人民共和国增值电信业务经营许可证:粤B2-
茂名市网警备案编号:
Powered by- System Error
Discuz! System Error
已经将此出错信息详细记录, 由此给您带来的访问不便我们深感歉意.从新浪获取股票历史数据
/fluxray_sensor/blog/static//
这几天在网上找股票的历史数据想研究研究,最后找到一个不错的接口,来自于雅虎,是在一个博客上找到的,地址为:&。不过这个不是我第一个找到的接口,最初始我是想直接解析新浪的历史交易页面,不过那个数据不是很全,只有大概近2个多月的数据。下面我把解析的脚本贴出来,主要是为了再次演示正则表达式的无穷魅力,因为解析的关键无疑是在一句正则表达式上!
$stockCode = 600000
-f $stockCode
$wc = New-Object System.Net.WebClient
$content = $wc.DownloadString($url)
$reg = "&a
target='_blank'\s+href='http://biz..cn/stock/history_min.php\?symbol=sh\d{6}&date=\d{4}-\d{2}-\d{2}'&\s*([^\s]+)\s+&/a&\s*&/div&&/td&\s*&td[^\d]*([^&]*)&/div&&/td&\s+&td[^\d]*([^&]*)&/div&&/td&\s+&td[^\d]*([^&]*)&/div&&/td&\s+&td[^\d]*([^&]*)&/div&&/td&\s+"
$result = [RegEx]::matches($content, $reg)
foreach($item in $result)
&&& $date =
$item.Groups[1].Value # 时间
&&& $opening =
$item.Groups[2].Value # 开盘
&&& $maxHigh =
$item.Groups[3].Value # 最高
&&& $closing =
$item.Groups[4].Value # 收盘
&&& $maxLow =
$item.Groups[5].Value # 最低
&&& Write-Host
$date $opening $maxHigh $closing $maxLow
已投稿到:

我要回帖

更多关于 查询股票历史交易记录 的文章

 

随机推荐