导航:首页 > 数据行情 > 代码获取股票数据

代码获取股票数据

发布时间: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,网络输入后,即可在搜索结果中看到,其中分时,就是该股票在当天的实时走向。 第二种,通过炒股软件,如东财,同花顺等,在开启后,直接输入

阅读全文

与代码获取股票数据相关的资料

热点内容
股票涨多少才可以盈利 浏览:337
海航股票发行时间表 浏览:939
一只股票一天的涨跌幅限制为 浏览:999
打新股票时帐帐户需要有资金吗 浏览:536
辰安科技的股票分析 浏览:820
股票增发通过后走势 浏览:540
股票转移募集资金账户 浏览:14
贝因美香港股票上市 浏览:531
影响股票大盘的因素 浏览:898
还么判断股票有没有主力 浏览:15
怎么查看股票的总资产 浏览:425
中国中车股票未来走势 浏览:798
小市值科技股票一览表 浏览:350
股东投资和发行股票有哪些 浏览:396
股票智app 浏览:177
中国农业银行句股票 浏览:814
巴菲特只投资股票 浏览:994
员工持股计划股票质押 浏览:727
股票如何计算盈利点数 浏览:510
gta5xbox360股票赚钱 浏览:48