導航:首頁 > 數據行情 > 代碼獲取股票數據

代碼獲取股票數據

發布時間:2022-05-08 04:09:14

❶ 如何編程從免費股票軟體中提取實時數據

自己寫程序的話,一種方法是從已提供的信息源,例如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'))

❷ java 如何實現 獲取實時股票數據

一般有三種方式:

  1. 網頁爬蟲。採用爬蟲去爬取目標網頁的股票數據,去GitHub或技術論壇(如CSDN、51CTO)上找一下別人寫的爬蟲集成到項目中。

  2. 請求第三方API。會有專門的公司(例如網路API市場)提供股票數據,你只需要去購買他們的服務,使用他們提供的SDK,仿照demo開發實現即可。如下圖所示:

❸ 利用Excel 2003智能化地獲取實時股票行情

考慮到很多朋友尤其是股民朋友在處理股票數據的時候都需要用到Excel,今天就給大家介紹一下如何利用Excel 2003智能化地獲取實時股票行情。
獲取國內股市行情 在Excel 2003中獲取國內股市行情和國外股市行情的方法是不一樣的。要在Excel中獲取國內股市行情,我們可以使用Excel的“新建Web查詢”方法,這里以獲取中國聯通(600050)的行情為例,具體步驟如下
1、打開提供股市行情的網站,在頁面的“個股查詢”區域輸入該股票代碼,選擇“實時行情”,單擊“搜”按鈕之後就可以查詢中國聯通的行情數據。接下來復制地址欄中網址。
2、運行Excel,新建一個空白工作簿,依次點擊“數據→導入外部數據→新建Web查詢”,這個時候就會彈出一個類似瀏覽器的窗口。
3、注意到這個框最上方的地址欄了嗎?在地址欄中粘貼剛剛拷貝的查詢地址,單擊“轉到”按鈕,就可以打開該網頁。
4、當然這個網頁中只有聯通股票行情部分是我們所需要的。我們應該如何選取股票行情部分呢?不要慌,大家注意看,股票行情表格第一行有一個黃色小方框,中間有一個向右的黑色小箭頭,用滑鼠單擊這個箭頭,黃色小方框就變成了綠色了,而裡面的小箭頭也變成小鉤了。我們就選取這個行情表格,然後單擊“導入”按鈕。
5、這個時候會出現一個導入數據窗口,在這里可以選擇導入數據的位置,比如插入在A1,或者插入新工作表中,單擊“確定”按鈕即可完成行情數據的插入。
6、獲取了聯通股票行情的Excel表格。點擊滑鼠右鍵,在彈出的右鍵菜單中選擇“數據區域屬性”選項,在其中勾選“允許後台刷新”和設置刷新頻率以及是否在打開該表格時進行刷新。
這樣,Excel就可以實時地通過網路對股票行情進行更新。

❹ 如何獲取股票交易數據

首先你得下載個交易軟體,比如說同花順,東方財富什麼的都可以。接下來打開自選,打開放大鏡搜索你想看的股票代碼或者名字就可以看到免費的交易數據,如果你還想看到更多的數據,還可以花錢去買level2數據。

❺ 如何使用 Yahoo,Finance stock API 獲取股票數據

有三種方法獲得數據,具體如下:

1、通過API獲取實時數據

請求地址:http://finance.yahoo.com/d/quotes.csv?s=<股票名稱>&f=<數據列選項>

具體參數:

s – 表示股票名稱,多個股票之間使用英文「+」分隔如:」XOM+BBDb.TO+MSFT」,表示三個公司的股票:XOM,BBDb.TO,MSFT。

f – 表示返回數據列,如」snd1l1yr」。更詳細的參見雅虎股票 API f 參數對照表。

2、通過API獲取歷史數據

請求地址如下:http://ichart.yahoo.com/table.csv?s=<string>&a=<int>&b=<int>&c=<int>&d=<int>&e=<int>&f=<int>&g=d&ignore=.csv

具體參數:

s – 股票名稱

a – 起始時間,月

b – 起始時間,日

c – 起始時間,年

d – 結束時間,月

e – 結束時間,日

f – 結束時間,年

g – 時間周期。

例如: g=w, 表示周期是「周"。d表示「日」(day),w表示「周」(week),m表示「月」(mouth),一定注意月份參數,其值比真實數據少1。如需要9月數據,則寫為08。

3、通過API獲取深滬股票數據

雅虎的API是國際性的,支持查詢國內滬深股市的數據,但代碼稍微變動一下,如浦發銀行的代號是:600000.SS。規則是:上海市場末尾加.SS,深圳市場末尾加.SZ。

❻ 用VB如何直接獲取股票實時數據

可以通過調用ChinaStockWebService的服務來實現獲取股票的實時數據,代碼如下:

publicstring[]getStockInfo(stringstockcode)
{

//stringurl="http://hq.sinajs.cn/list="+stockcode;
//stockcode某隻股票的代碼
stringurl="http://hq.sinajs.cn/list=sh600683";
WebClientclient=newWebClient();
client.Headers.Add("Content-Type","text/html;charset=gb2312");
Streamdata=client.OpenRead(url);
StreamReaderreader=newStreamReader(data,Encoding.GetEncoding("gb2312"));
strings=reader.ReadToEnd();
reader.Close();
data.Close();
returns.Split(',');
}

❼ 股票K線圖數據怎麼獲取 - 技術問答

可以通過用股票軟體下載歷史成交數據來獲取。經常炒股的人都知道要看股票K線。股市變化多端,要想找一些「規律」我們可以利用K線,這樣可以更好的進行投資決策,獲取收益。
來給朋友們講解一下K線,教夥伴們從哪裡入手去分析它。
分享之前,先免費送給大家幾個炒股神器,能幫你收集分析數據、估值、了解最新資訊等等,都是我常用的實用工具,建議收藏:炒股的九大神器免費領取(附分享碼)
一、 股票K線是什麼意思?
K線圖還有許多其他的叫法,如蠟燭圖、日本線、陰陽線等,它最先用於分析米價的趨勢的,後來股票、期貨、期權等證券市場也能用到它。
形似柱狀,可拆分為影線和實體,這個我們稱為k線。影線在實體上方的部分叫上影線,下方的部分叫下影線,實體分陽線和陰線。
Ps:影線代表的是當天交易的最高和最低價,實體表示的是當天的開盤價和收盤價。
其中陽線的表示方法有三種,分別是:紅色、白色柱體還有黑框空心,而常見的陰線表示方法是用綠色、黑色或者藍色實體柱。
除了講的這些以外,大家目測到「十字線」的時候,就意味著是實體部分轉換成一條線。
其實十字線是很容易理解的,其實就是收盤的價格和開盤時一樣。
經過對K線的剖析,我們可以較好找到買賣點(對於股市方面,雖然說是沒有辦法知道具體的事情,但是K線有一定指導的意義的),對於新手來說最好掌握。
這里大家應該值得注意的是,K線分析起來挺難的,假如你是剛剛開始炒股的,還不了解K線,建議用一些輔助工具來幫你判斷一隻股票是否值得買。
比如說下面的診股鏈接,輸入你中意的股票代碼,就能自動幫你估值、分析大盤形勢等等,我剛開始炒股的時候就用這種方法來過渡,非常方便:【免費】測一測你的股票當前估值位置?
接下來我就給大家講幾個對於K線進行分析的小妙招,幫助你快速入門。
二、怎麼用股票K線進行技術分析?
1、實體線為陰線
股票的成交量就要在這時候看看是什麼樣的了,成交量不大的話,就意味著股價很有可能會短期下降;如果出現成交量很大的情況,股價肯定要長期下跌了。
2、實體線為陽線
實體線為陽線就表示股價上漲空間更大,至於是不是長期上漲必須結合其他指標進行判斷。
比如說大盤形式、行業前景、估值等等因素/指標,但是由於篇幅問題,不能展開細講,大家可以點擊下方鏈接了解:新手小白必備的股市基礎知識大全

應答時間:2021-08-26,最新業務變化以文中鏈接內展示的數據為准,請點擊查看

❽ 如何下載股票歷史成交數據到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, "'>")
For i = 1 To UBound(arr)
arr1 = Split(arr(i), " Cells(i + kaishihang, 1) = Right(Left(arr1(0), 10), 10)
arr2 = Split(arr1(1), Chr(60))
Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1)
arr3 = Split(arr1(2), Chr(60))
Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1)
arr4 = Split(arr1(3), Chr(60))
Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1)
arr5 = Split(arr1(4), Chr(60))
Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1)
arr6 = Split(arr1(5), Chr(60))
Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1)
arr7 = Split(arr1(6), Chr(60))
Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1)
arr8 = Split(arr1(7), Chr(60))
Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1)
arr9 = Split(arr1(8), Chr(60))
Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1)
arr10 = Split(arr1(9), Chr(60))
Cells(i + kaishihang, 10) = Mid(arr10(0), InStr(arr10(0), ">") + 1)
arr11 = Split(arr1(10), Chr(60))
Cells(i + kaishihang, 11) = Mid(arr11(0), InStr(arr11(0), ">") + 1)
Next i
End If
End With
Next m
Next h
Set objXML = Nothing
End Sub
第三步,獲取上證歷史數據,並獲取所有股票的歷史數據。程序如下:
Sub 所有股票歷史數據獲取()
Application.ScreenUpdating = False
Dim s As String, gp As String, nian As String, ji As String, s1 As String
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9
Dim i, h As Long
Dim kaishihang
Dim LastRow As Long, r As Long
On Error Resume Next
EndRow = Sheet2.Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Sheet2.Range(Sheet2.Cells(startRow, 1), Sheet2.Cells(EndRow, 9)).Value = ""
Else
Exit Sub
End If
For h = 1 To 5
For m = 1 To 4
kaishihang = Sheet2.[A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
s1 = "http://quotes.money.163.com/trade/lsjysj_shu_000001.html?year=" + nian + "&season=" + ji + ""
s = GetSource(s1)
arr = Split(s, "'>")
For i = 1 To UBound(arr)
arr1 = Split(arr(i), " Sheet2.Cells(i + kaishihang, 1) = Right(Left(arr1(0), 4), 4) & "-" & Right(Left(arr1(0), 6), 2) & "-" & Right(Left(arr1(0), 10), 2)
arr2 = Split(arr1(1), Chr(60))
Sheet2.Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1)
arr3 = Split(arr1(2), Chr(60))
Sheet2.Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1)
arr4 = Split(arr1(3), Chr(60))
Sheet2.Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1)
arr5 = Split(arr1(4), Chr(60))
Sheet2.Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1)
arr6 = Split(arr1(5), Chr(60))
Sheet2.Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1)
arr7 = Split(arr1(6), Chr(60))
Sheet2.Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1)
arr8 = Split(arr1(7), Chr(60))
Sheet2.Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1)
arr9 = Split(arr1(8), Chr(60))
Sheet2.Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1)
Next i
Next m
Next h
Application.ScreenUpdating = True
n = Worksheets.Count
For i = 4 To n
Worksheets(i).Activate
歷史數據
Next
End Sub
第四步,保存工作簿,並對該工作簿命名為1,然後復制該工作簿27份,把所有股票代碼寫入每一個工作簿第一個工作表的A3到A127列。然後根據第一步對工作簿內的工作表命名,並在每一個工作表A2單元格內寫入股票代碼。
第五步,把這些工作簿存放到炒股文件夾下的資料庫文件下。然後在炒股文件夾下新建一個工作簿,命名為「一鍵更新表格」,寫入如下代碼:
Sub 所有股票歷史數據更新()
Dim wb As Workbook
For i = 1 To 27
Set wb = Workbooks.Open(ThisWorkbook.Path & "資料庫" & i & "".xlsb"")
Application.Run ""'"" & wb.Path & """" & i & "".xlsb'!所有股票歷史數據獲取""
wb.Save
wb.Close
Next i
End sub
當啟動這一段代碼以後,程序會自動一個一個的打開對應的工作簿然後獲取裡面所有股票的歷史數據,存放在對應的工作表當中。
第六步,對相應的程序添加按鈕,這樣,我們在啟動對應程序時,只需要點一下對應的按鈕就可以實現了。這樣,我們通過多個工作簿就實現了獲取所有股票歷史數據的方法。而後面,我們只需要通過獲取對應股票每一天的歷史數據,我們就能夠在任意一天很快速的能夠擁有所有股票的歷史數據了。
注意事項
1、在後續需要對這些數據進行分析,裡面會加入很多計算,所以啟動所有歷史數據更新時,我們應該要關閉自動更新。
2、因為歷史數據很大,所以這里只獲取四年的數據,想要獲取更多數據,可以更改程序裡面 「For h = 1 To 5」的那個5即可。
3、歷史數據的獲取需要較長的時間,要提前做好准備。
4、如果你想要弄清楚用EXCEL建立炒股系統的整套方法,請看後續內容。"

❾ 股市數據如何獲取

股市的數據通過炒股軟體,每天就可以自動收取

❿ 如何用java讀取股票數據

股票實時行情,可以通過兩個方法來進行查看: 第一種,在網路搜索頁面直接輸入股票代碼,如:000717,網路輸入後,即可在搜索結果中看到,其中分時,就是該股票在當天的實時走向。 第二種,通過炒股軟體,如東財,同花順等,在開啟後,直接輸入

閱讀全文

與代碼獲取股票數據相關的資料

熱點內容
美年大股票價格走勢 瀏覽:44
同時投資與價值型股票 瀏覽:152
中信證券新手買入股票 瀏覽:467
股票軟體看機構買賣 瀏覽:100
辰安科技股票是屬於哪個版塊 瀏覽:325
金域科技股票 瀏覽:938
股票交易中的投資與投機 瀏覽:718
項目股票投資哪家權威 瀏覽:210
低位連續長時間壓盤的股票 瀏覽:524
股票軟體記錄畫線 瀏覽:956
股票跟著資金 瀏覽:661
股票市場總指數etf股吧 瀏覽:661
北沿合眾銀行股票 瀏覽:860
20185月10日瀘深最低股票 瀏覽:535
股票最後一秒封漲停 瀏覽:660
查國外股票的app 瀏覽:248
股票主力是公司請的嗎 瀏覽:90
期貨從業人員可以自己投資股票嗎 瀏覽:45
專業股票投資風險低 瀏覽:287
股票開業績說明會 瀏覽:9