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. 如何獲取股票歷史數據
如何快速取得股票交易歷史數據,直接在交易軟體裡面查看歷史成交就知道了,可以設置一個個時間段進行查詢。查詢到的數據可以直接導出。