当前位置:首页 » 科技股票 » 编程货取股票历史数据

编程货取股票历史数据

发布时间: 2023-08-04 20:57:43

① 如何选取过去每个月股票的市值 python

类似,可以修改一下
股票涨跌幅数据是量化投资学习的基本数据资料之一,下面以python代码编程为工具,获得所需要的历史数据。主要步骤有:
(1) #按照市值从小到大的顺序活得N支股票的代码;
(2) #分别对这一百只股票进行100支股票操作;
(3) #获取从2016.05.01到2016.11.17的涨跌幅数据;
(4) #选取记录大于40个的数据,去除次新股;
(5) #将文件名名为“股票代码.csv”。
具体代码如下:
# -*- coding: utf-8 -*-
"""
Created on Thu Nov 17 23:04:33 2016
获取股票的历史涨跌幅,并分别存为csv格式
@author: yehxqq151376026
"""

import numpy as np
import pandas as pd

#按照市值从小到大的顺序活得100支股票的代码
df = get_fundamentals(
query(fundamentals.eod_derivative_indicator.market_cap)
.order_by(fundamentals.eod_derivative_indicator.market_cap.asc())
.limit(100),'2016-11-17', '1y'
)

#分别对这一百只股票进行100支股票操作
#获取从2016.05.01到2016.11.17的涨跌幅数据
#选取记录大于40个的数据,去除次新股
#将文件名名为“股票代码.csv”
for stock in range(100):
priceChangeRate = get_price_change_rate(df['market_cap'].columns[stock], '20160501', '20161117')
if priceChangeRate is None:
openDays = 0
else:
openDays = len(priceChangeRate)
if openDays > 40:
tempPrice = priceChangeRate[39:(openDays - 1)]
for rate in range(len(tempPrice)):
tempPrice[rate] = "%.3f" %tempPrice[rate]
fileName = ''
fileName = fileName.join(df['market_cap'].columns[i].split('.')) + '.csv'
fileName
tempPrice.to_csv(fileName)

② matlab可以直接获取国内股票或者期货的历史数据吗

matlab可以直接获取国内股票或者期货的历史数据吗
:有个wdz程序,可免费输出txt、csv格式的沪深等市场的全部历史日线、10多年的5分钟数据。你可先用你这个程序,免费输出txt格式的对应数据,然后在matlab中读取即可。

③ 如何使用EXCEL读取通达信股票日线数据

定量分析的第一步,是获取数据。 获取股票历史行情数据最方便的途径,就是直接读取股票行情软件留在你电脑中的日线数据文件。 但如果不是程序员,电脑里一般不会有VB、VC之类的编程语言。 其实,大家的电脑中一般都有OFFICE。OFFICE中的EXCEL自带了一个VBA语言的编程环境。功能也很强大。 我用EXCEL里的VBA编写了一段代码,读取通达信股票行情软件的日线文件。已经测试通过。 代码如下。与爱好定量分析的朋友分享。 TypeMyType a1AsLong'标示码 a2AsLong'日期 a3AsSingle'开盘价 a4AsSingle'最高价 a5AsSingle'最低价 a6AsSingle'收盘价 a7AsSingle'成交金额 a8AsLong'成交量 EndType Sub按钮1_Click() DimFile2AsInteger DimbAsMyType File1=FreeFile Opensh600000.dayForBinaryAccessReadAs#File1i=1DoWhileNotEOF(File1) Get#File1,,b Cells(i,1)=b.a1 Cells(i,2)=b.a2 Cells(i,3)=b.a3 Cells(i,4)=b.a4 Cells(i,5)=b.a5 Cells(i,6)=b.a6

④ 1、如何将财经类网上股票历年分红数据提取到EXCEL表里,并获取股票实时价格

回答此类问题的描述会被网络知道判违规。

请在“数据”选项下的“自网站”进行相应的操作,然后设置数据更新频率,即可。

⑤ 如何使用 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。

⑥ 在编程中如何能能获得股票的数据 例如当前价,最高价,最低价,当前成交量等等

要看使和什么数据了,每个软件数据的存储格式不同,有的还是加密存储的(如指南针)。

以常见的钱龙数据来说吧(钱龙是最简单的存储格式)当前价,最高价,最低价,当前成交量等等都是以随机文件存储的长整型数据。下面是读取钱龙数据的C源码,你可以参考一下:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

typedef struct { ------->定义数据类型
unsigned long date; ------->定义日期为长整
unsigned long open; ------->定义开盘为..
unsigned long high; ------->定义最高为..
unsigned long low; ------->定义最低为..
unsigned long close; ------->定义收盘为..
unsigned long travl; ------->定义成交量..
unsigned long traca; ------->定义成交额..
char unuse[12];
} RECORD;

RECORD reco;
int readrec(FILE *);

void main()
{
FILE *fp;
if((fp = fopen("000001.day","rb")) == NULL) // 打开深发展日线

{ printf("Error: Can't open 000001.DAY !\n");
exit(0); }
readrec(fp);
fclose(fp);
if(getch()==0) getch();
exit(0);
}

int readrec(FILE *fp)

{

float fn;

while (! feof(fp)) {

fread(&reco,sizeof(RECORD),1,fp);

printf("%10lu ",reco.date);
fn=float(reco.open)/1000;

printf("%8.2f ",fn);
fn=float(reco.high)/1000; .
printf("%8.2f ",fn); .
fn=float(reco.low)/1000; .
printf("%8.2f ",fn); .
fn=float(reco.close)/1000; .
printf("%8.2f ",fn); .
printf("%8lu ",reco.travl); .
printf("%8lu\n",reco.traca);
}
printf("\n");

return 0;

⑦ 如何下载所有股票的历史数据

下载所有股票的历史数据,以同花顺股票软件为例:
1、首先切换到要下载数据的股票K线形态,按“F1”进入“日线某某股票历史成交”;
2、点击鼠标右键->数据导出->导出所有数据->在“请选择导出的类型”中选择excel或txt,,只有这二种格式可以选择;
3、选取好后点击下一步,在“导入导出对话框模板”中选择要的项目(如最高价、最低价,开盘价等,默认是全选);
4、点下一步,完成。默认保存路径在桌面上。

⑧ 怎样遍历任意股票历史数据要求使用循环。

以python+tushare为例:
import tushare as ts
一、遍历所有股票数据:

df=ts.get_stock_basics()

for i in range(len(df)):

df=ts.get_k_data(code=df.code[i], start='2015-12-15', end='2016-08-05')

(但此方法耗时较长,建议遍历之后用pd.to_csv保存到本地,然后每日更新,以后在本地读取数据速度会更快)

二、遍历指定股票数据:

stock_list=['000001','000002','000003']

for i in range(len(df)):

df=ts.get_k_data(code=stock_list[i], start='2015-12-15', end='2016-08-05')

⑨ 如何编程从免费股票软件中提取实时数据

自己写程序的话,一种方法是从已提供的信息源,例如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获取股票行情历史数据新浪、搜狐、百度财经都可以......

publicclassStockConnection{
publicstaticvoidmain(String[]args){
URLur=null;
try{
//搜狐股票行情历史接口
// ur=newURL("http://q.stock.sohu.com/hisHq?code=cn_300228&start=20130930&end=20131231&stat=1&order=D&period=d&callback=historySearchHandler&rt=jsonp");
//新浪股票行情历史接口
ur=newURL("http://biz.finance.sina.com.cn/stock/flash_hq/kline_data.php?&rand=random(10000)&symbol=sh600000&end_date=20150809&begin_date=20000101&type=plain");
HttpURLConnectionuc=(HttpURLConnection)ur.openConnection();
BufferedReaderreader=newBufferedReader(newInputStreamReader(ur.openStream(),"GBK"));
Stringline;
while((line=reader.readLine())!=null){
System.out.println(line);
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}

热点内容
股票软件查历史持仓 发布:2025-02-02 09:47:03 浏览:116
参加期货考试需要准备什么 发布:2025-02-02 09:44:40 浏览:814
会通股票历史交易数据 发布:2025-02-02 09:44:38 浏览:885
国家央行降息对股市有什么影响 发布:2025-02-02 09:39:02 浏览:427
汽车芯片基金哪个值得买 发布:2025-02-02 09:38:27 浏览:981
为什么炒股不如投资指数基金 发布:2025-02-02 09:34:10 浏览:657
股权回购和交割各是什么意思 发布:2025-02-02 09:29:15 浏览:486
股权众筹有什么坑 发布:2025-02-02 09:29:08 浏览:593
5月3日涨停股票 发布:2025-02-02 09:24:01 浏览:412
炒股软件如何提升盈利 发布:2025-02-02 08:20:24 浏览:364