A. 如何快速取得股票交易历史数据
示例:
最近二十天左右的每5分钟数据
网页链接
(参数:股票编号、分钟间隔(5、15、30、60)、均值(5、10、15、20、25)、查询个数点(最大值242))
返回数据格式:日期、开盘价、最高价、最低价、收盘价、成交量
B. 如何编程从免费股票软件中提取实时数据
自己写程序的话,一种方法是从已提供的信息源,例如webservice获取数据。还有种办法就是去连接提供即时信息的网页硬解析。
代码举例如下:
Created on Thu Jul 23 09:17:27 2015
@author: jet
"""
DAY_PRICE_COLS = ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20', 'turnover']
DAY_PRICE_URL = '%sapi.finance.%s/%s/?code=%s&type=last'
INDEX_KEY = ['SH', 'SZ', 'HS300', 'SZ50', 'GEB', 'SMEB']
INDEX_LIST = {'SH': 'sh000001', 'SZ': 'sz399001', 'HS300': 'sz399300',
'SZ50': 'sh000016', 'GEB': 'sz399006', 'SMEB': 'sz399005'}
INDEX_DAY_PRICE_COLS= ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20']
K_TYPE_KEY = ['D', 'W', 'M']
K_TYPE_MIN_KEY = ['5', '15', '30', '60']
K_TYPE = {'D': 'akdaily', 'W': 'akweekly', 'M': 'akmonthly'}
MIN_PRICE_URL = '%sapi.finance.%s/akmin?scode=%s&type=%s'
PAGE_TYPE = {'http': 'http://', 'ftp': 'ftp://'}
PAGE_DOMAIN = {'sina': 'sina.com.cn', 'ifeng': 'ifeng.com'}
URL_ERROR_MSG = '获取失败,请检查网络状态,或者API端口URL已经不匹配!'
get_hist_data.py
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 23 09:15:40 2015
@author: jet
"""
import const as ct
import pandas as pd
import json
from urllib2 import urlopen,Request
def get_hist_data(code = None, start = None, end = None, ktype = 'D'):
"""
功能:
获取个股历史交易数据
--------
输入:
--------
code:string
股票代码 比如:601989
start:string
开始日期 格式:YYYY-MM-DD 为空时取到API所提供的最早日期数据
end:string
结束日期 格式:YYYY-MM-DD 为空时取到最近一个交易日数据
ktype:string(default=D, 函数内部自动统一为大写)
数据类型 D=日K线,W=周K线,M=月K线,5=5分钟,15=15分钟
30=30分钟,60=60分钟
输出:
--------
DataFrame
date 日期
open 开盘价
high 最高价
close 收盘价
low 最低价
chg 涨跌额
p_chg 涨跌幅
ma5 5日均价
ma10 10日均价
ma20 20日均价
vma5 5日均量
vma10 10日均量
vma20 20日均量
turnover换手率(指数无此项)
"""
code = code_to_APIcode(code.upper())
ktype = ktype.upper()
url = ''
url = get_url(ktype, code)
print(url)
js = json.loads(ping_API(url))
cols = []
if len(js['record'][0]) == 14:
cols = ct.INDEX_DAY_PRICE_COLS
else:
cols = ct.DAY_PRICE_COLS
df = pd.DataFrame(js['record'], columns=cols)
if ktype in ct.K_TYPE_KEY:
df = df.applymap(lambda x:x.replace(u',', u''))
for col in cols[1:]:
df[col]=df[col].astype(float)
if start is not None:
df = df [df.date >= start]
if end is not None:
df = df[df.date <= end]
df = df.set_index('date')
return df
def code_to_APIcode(code):
"""
功能:
验证输入的股票代码是否正确,若正确则返回API对应使用的股票代码
"""
print(code)
if code in ct.INDEX_KEY:
return ct.INDEX_LIST[code]
else:
if len(code) != 6:
raise IOError('code input error!')
else:
return 'sh%s'%code if code[:1] in ['5', '6'] else 'sz%s'%code
def get_url(ktype, code):
"""
功能:
验证输入的K线类型是否正确,若正确则返回url
"""
if ktype in ct.K_TYPE_KEY:
url = ct.DAY_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
ct.K_TYPE[ktype], code)
return url
elif ktype in ct.K_TYPE_MIN_KEY:
url = ct.MIN_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
code, ktype)
return url
else:
raise IOError('ktype input error!')
def ping_API(url):
"""
功能:
向API发送数据请求,若链接正常返回数据
"""
text = ''
try:
req = Request(url)
text = urlopen(req,timeout=10).read()
if len(text) < 15:
raise IOError('no data!')
except Exception as e:
print(e)
else:
return text
#测试入口
print(get_hist_data('601989','2015-07-11','2015-07-22'))
C. 有办法提取同花顺里某支股票的某日成交明细数据吗(需要知道文件格式)
提取同花顺里某支股票的某日成交明细数据的方法如下:
打开同花顺软件,找到所需的股票;
双击菜单栏中的“成交明细数据”选项,然后按“34”就得到该股票的某日成交明细数据;
可以用“另存为”导出该成交明细数据,格式可以是TXT,也可以是XLS。
补充说明:
关于成交明细:
成交明细中的买盘/卖盘:
“买盘”表示以比市价低的价格进行委托买入,并正在排队的量,代表外盘;
“卖盘”表示以比市价高的价格进行委托卖出,并正在排队的量,代表内盘;
“主动成交”:以卖一价向上成交为外盘;以买一价向下成交为内盘。
(即:场外资金进场接盘为“外”;场内资金外逃为“内”)
D. 怎么抓取股票数据
那么中国股市的数据有没有呢?答案是肯定的,不过要按照下面的参数做些调整,下面提供全球证券交易所的资料。
上证股票是股票代码后面加上.ss,深证股票是股票代码后面加上.sz
例如:000001 = 000001.sz
深市数据链接:http://table.finance.yahoo.com/table.csv?s=000001.sz
上市数据链接:http://table.finance.yahoo.com/table.csv?s=600000.ss
上证综指代码:000001.ss,深证成指代码:399001.SZ,沪深300代码:000300.ss
下面就是世界股票交易所的网址和缩写,要查找哪个股票交易所的数据,就按照上面的格式以此类推。
上海交易所=cn.finance.yahoo.com,.SS,Chinese,sl1d1t1c1ohgv
深圳交易所=cn.finance.yahoo.com,.SZ,Chinese,sl1d1t1c1ohgv
美国交易所=finance.yahoo.com,,United States,sl1d1t1c1ohgv
加拿大=ca.finance.yahoo.com,.TO,Toronto,sl1d1t1c1ohgv
新西兰=au.finance.yahoo.com,.NZ,sl1d1t1c1ohgv
新加坡=sg.finance.yahoo.com,.SI,Singapore,sl1d1t1c1ohgv
香港=hk.finance.yahoo.com,.HK,Hong Kong,sl1d1t1c1ohgv
台湾=tw.finance.yahoo.com,.TW,Taiwan,sl1d1t1c1ohgv
印度=in.finance.yahoo.com,.BO,Bombay,sl1d1t1c1ohgv
伦敦=uk.finance.yahoo.com,.L,London,sl1d1t1c1ohgv
澳洲=au.finance.yahoo.com,.AX,Sydney,sl1d1t1c1ohgv
巴西=br.finance.yahoo.com,.SA,Sao Paulo,sl1d1t1c1ohgv
瑞典=se.finance.yahoo.com,.ST,Stockholm,sl1d1t1c1ohgv
以上方法只能提供历史数据,实时数据不能抓取,此方法由ArthurXF提供
E. 如何下载股票历史成交数据到Excel或txt
以华中智能股票软件为例:(以Think pad X13 锐龙版笔记本电脑,Windows 10 操作为例)首先切换到要下载数据的股票K线形态,按“F1”进入“日线某某股票历史成交”,点击鼠标右键->数据导出->导出所有数据->在“请选择导出的类型”中选择excel或txt
补充资料:
如何获取所有股票历史数据:
如果要对股市进行分析,首先就要获取所有股票的历史数据,只有通过股票的历史数据,我们才能分析出股市的规律。
(以Think pad X13 锐龙版笔记本电脑,Windows 10 操作为例)
一、工具/原料
1、EXCEL2007或者以上版本,不能使用WPS
2、电脑1g内存1核处理器及以上配置
3、拥有较强逻辑分析能力以及少量智慧及以上的大脑一颗
方法/步骤:
第一步,获取股票代码,复制其中一部分到第一个工作表A4到A127,然后通过程序把每一个代码写入到不同的工作表A2位置,并对该工作表以该股票代码命名。程序如下:
Sub 工作表命名()
For i = 4 To 127
Sheets(i).Range("a2") = "'" & Sheets(1).Range("a" & i)
Next i
For i = 4 To Sheets.Count
Sheets(i).Name = Sheets(i).Range("a2").Value
Next
End Sub
第二步,获取股票历史数据。代码如下:
Private Function GetSource(sURL As String) As String
Dim oXHTTP As Object
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "GET", sURL, False
oXHTTP.Send
GetSource = oXHTTP.responsetext
Set oXHTTP = Nothing
End Function
Sub 历史数据()
Dim objXML As Object
Dim txtContent As String
Dim i As Integer
Dim strCode As String
Dim gp As String
Dim kaishihang
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10, arr11
On Error Resume Next
EndRow = Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Range(Cells(startRow, 1), Cells(EndRow, 11)).Value = ""
Else
Exit Sub
End If
Set objXML = CreateObject("Microsoft.XMLHTTP")
gp = [A2]
For h = 1 To 4
For m = 1 To 4
kaishihang = [A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
With objXML
.Open "GET", "http://quotes.money.163.com/trade/lsjyj_" + gp + ".html?year=" + nian + "&season=" + ji + "", False
.Send
If objXML.Status = 200 Then
txtContent = .responsetext
arr = Split(txtContent, "'>
F. 如何查询股票交易记录
您好,针对您的问题,我们给予如下解答:
4打头的证券属于特别转让市场(俗称三板市场)需开通特别转让权限,
开户人带上本人的身份证及复印件在交易时间(9:00-11:30,13:00-15:00)到证券营业网点业务柜台签署代办股份转让协议书,已有股票账户的客户要到开户营业部开通, 同时还需出示深圳的股东帐户卡,确权手续的办理费10元。
st股票很有可能退市的,因为st股票本身就是主板市场退市到三板市场的,在三板市场进行交易的。
三板的股票属于在深圳交易市场上市的股票。所以您的帐户只要开了深圳股东卡就可以买卖三板交易的股票。
有的股票是一个星期只交易一天,有的股票是一个星期只交易一、三、五。
还有的股票是一周五天都交易的。
如果买了,股票又退市的话您就一分钱也拿不到了,本金也拿不回来了。
购买三板市场的股票后,股票发生退市或者公司破产后,自己的所有投入为零了。
如仍有疑问,欢迎向国泰君安证券上海分公司企业知道平台提问。
G. 如何获取实时的股票数据
要跟供应商协商得到他的接口才能得到实时股票行情数据;
股票实时行情,可以通过两个方法来进行查看:
第一种,在网络搜索页面直接输入股票代码,如:000717,网络输入后,即可在搜索结果中看到,其中分时,就是该股票在当天的实时走向。
第二种,通过炒股软件,如东财,同花顺等,在开启后,直接输入,股票代码,如600854,点击回车。进入的第一个页面就是该股票在当天的实时行情。
同时在股票软件的分时成交界面,可以查看到每一分钟的成交价和手数。股票行情趋势判断必要时也需要结合分时成交界面的数据来进行判断。
查看其它股票的行情也是一样的道理,直接键入该股票的代码就可以查看到该股票当天或某个时间段内的行情。当然,精准的行情走势、趋势,是需要结合多种指标来共同进行分析的。
H. 如何获取股票交易数据
你指的交易数据是什么,如果是自己的交易数据的话,你使用的券商是会提供每次交易的交割单的,在交易软件上也能看到你每笔交易的委托和成交明细。
如果是市场上所有人的交易数据的话,这个是拿不到的。能拿到交易数据的都是各大券商,交易所和上市公司,但是上市公司是只能拿到自己公司的股票交易数据。
I. 如何使用python抓取炒股软件中资金数据
这个说来有点复杂,用fiddle监控软件跟服务器间的通讯,找到数据源地址,然后用excel或python抓这个源地址数据,可能还要加上反扒代码,构造时间戳等等,你网上找python网抓视频教程看看就知道了。
J. 如何获取股票历史数据
如何快速取得股票交易历史数据,直接在交易软件里面查看历史成交就知道了,可以设置一个个时间段进行查询。查询到的数据可以直接导出。