数据库从股票软件获取数据
① 如何编程从免费股票软件中提取实时数据
自己写程序的话,一种方法是从已提供的信息源,例如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'))
② 如何把股票软件的数据导入到数据库然后自行统计分析
先从菜单栏里找到数据导出(保存),导出为EXCEL,然后打开统计软件或数据库,再找到文件(数据)导入,把EXCEL导入。
一般都是这个方法,不同的软件有一定差异。
③ 如何导出股票的全部行情数据
通达信软件数据导出的方法:
1、点击“系统/数据导出”,可惜导出的只有280个交易日的数据,即2010年2月以后的数据。也就是仅导出了“当前屏幕数据”。这样是不够的。可选导出文件格式,txt,excel两者选其一。
2、点击“系统/数据导出/高级导出”,选择几个股票,导出的是2007年之后的TXT格式数据,很高兴,多了很多,前进了一大步。但还是不够的。
3、点击“系统/盘后数据下载”,选中“日线和实时行情数据”,选日期1995年1月1日-至今,取消“下载所有A股类所有的数据”的对勾,点击“添加品种”,添入自己想要的几个股票,再点击“开始下载”。
4、重复第2步,这样导出才是1995以来的全部日K线数据。太高兴了。
5、单支股票数据的导出:进入分析图,点右下“+”号,直到K线图不再增加K线,重复第1步。如此导出的将包括当前屏幕上的技术指标数据。但只能一次导出一支股票。
打开导出的TXT文件,将数据复制导excel中,或者数据库中,就可以编程序分析了。
④ 用什么软件可以导出股票的数据,如成交量,换手率,价格等。我用了很多软件同花顺,通信达,大智慧都导不
通信达可以导出开盘、最高、最低、收盘、成交量等数据。
按键盘:34。
或按菜单:系统 — 数据导出,格式为文本(.TXT)文档或Excel(.XLS)文件。
⑤ 炒股软件的实时数据是怎么获取的
如果你只是需要进行实时选股,则可以采用通达信、大智慧、同花顺等看盘软件。通达信、大智慧等软件中有一个“鹰眼盯盘”的功能(各家叫法不同,但意思一样的),结合自己在这些软件中编写的自编公式、指标,可实现实时的的股票监控。
如果你需要的是实时获取股票数据,则有专门的股票实时行情API接口,例如微盛的股票实时API接口,通过这样的接口,编程即可取得实时的股票数据。
⑥ 股票的数据在哪里能找到
一般来说股票的数据可以在任何股票软件中找到,而且在网页上也可以找到股票的历史数据,从而对这支股票作出判断,进一步决定是否购买。
现如今随着时代的发展,股票投资已经成为常态化。许多年前只有少部分人进行股票投资,而且如果要进行投资都需要到交易所内,每天关注大盘走势,从而做出投资决定。现如今随着互联网的发展,各类投资平台纷纷出现。人们足不出户便可以在网络中进行股票投资。各种数据也更加明了,大家可以凭借自己的经验结合股票数据,从而做出最精准的投资决策。
⑦ 股票行情软件的数据从哪里得来的
打开行情软件,点击主页最左上角的【系统】/【数据导出】,如下图所示
在弹出的对话框选择【Excel】/【报表中所有数据】,再选择浏览,设置好存贮路径,方便查找使用。
设置好路径后选择确定,如下图所示。
设置好存贮路径,最终点击确定,生成电子表格。
打开电子表格,如下图所示,方便我们进行研究。
⑧ 股市数据如何获取
股票数据如何获取股票的数据有很多,只要你是查隐形的数据,还是明面的数据一般情况下一个股票你打开他的。研报可以查看他的近期状况也可以看她的财务查看ta的财务数据。也可以查他的十大股东。
⑨ 如何利用一些 finance 数据库 api 批量获取股票信息
使用Yahoo API获取股票信息。