資料庫從股票軟體獲取數據
① 如何編程從免費股票軟體中提取實時數據
自己寫程序的話,一種方法是從已提供的信息源,例如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獲取股票信息。