當前位置:首頁 » 股票資訊 » pandas查詢股票交易記錄
擴展閱讀
設計總院股票歷史股價 2023-08-31 22:08:17
股票開通otc有風險嗎 2023-08-31 22:03:12
短線買股票一天最好時間 2023-08-31 22:02:59

pandas查詢股票交易記錄

發布時間: 2023-08-10 12:34:57

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

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

⑵ 如何用python代碼判斷一段范圍內股票最高點

Copyright © 1999-2020, CSDN.NET, All Rights Reserved




登錄

python+聚寬 統計A股市場個股在某時間段的最高價、最低價及其時間 原創
2019-10-12 09:20:50

開拖拉機的大寶

碼齡4年

關注
使用工具pycharm + 聚寬數據源,統計A股市場個股在某時間段的最高價、最低價及其時間,並列印excel表格輸出

from jqdatasdk import *
import pandas as pd
import logging
import sys
logger = logging.getLogger("logger")
logger.setLevel(logging.INFO)

# 聚寬數據賬戶名和密碼設置
auth('username','password')

#獲取A股列表,包括代號,名稱,上市退市時間等。
security = get_all_securities(types=[], date=None)
pd2 = get_all_securities(['stock'])

# 獲取股票代號
stocks = list(get_all_securities(['stock']).index)

# 獲取股票名稱
stocknames = pd2['display_name']

start_date = '2015-01-01'
end_date = '2018-12-31'
def get_stocks_high_low(start_date,end_date):
# 新建表,表頭列
# 為:"idx","stockcode","stockname","maxvalue","maxtime","lowvalue","lowtime"
result = pd.DataFrame(columns=["idx", "stockcode", "stockname", "maxvalue", "maxtime", "lowvalue", "lowtime"])
for i in range(0,stocks.__len__()-1):
pd01 = get_price(stocks[i], start_date, end_date, frequency='daily',
fields=None, skip_paused=False,fq='pre', count=None)
result=result.append(pd.DataFrame({'idx':[i],'stockcode':[stocks[i]],'stockname':
[stocknames[i]],'maxvalue':[pd01['high'].max()],'maxtime':
[pd01['high'].idxmax()],'lowvalue': [pd01['low'].min()], 'lowtime':
[pd01['low'].idxmin()]}),ignore_index=True)

result.to_csv("stock_max_min.csv",encoding = 'utf-8', index = True)
logger.warning("執行完畢!

⑶ 報錯TypeError: 'NoneType' object is not subscriptable尋求解決辦法

該錯誤意味著您正在嘗試使用方括弧(例如 )訪問對象的元素,但該對象支持且不支持此操作。TypeError: 'NoneType' object is not subscriptableobject[index]None

在這種特定情況下,看起來函數正在返回而不是預期的數據框。這可能是由於Tushare API或網路連接出現問題。ts.get_hs300s()None

要修復此錯誤,您可以嘗試以下操作:

  • 查看圖共享API文檔,以確保您正確使用該函數。get_hs300s()

  • 檢查您的網路連接並確保其穩定可靠。

  • 在互動式 Python shell 中使用該函數以查看它是否返回預期的數據框。ts.get_hs300s()

  • 如果函數仍返回 ,請嘗試使用其他 API 或數據集來獲取所需的股票代碼。ts.get_hs300s()None

  • 下面是如何修改代碼以處理返回的情況的示例:ts.get_hs300s()None

在這個例子中,我們在嘗試訪問它的「code」列之前檢查變數是否不是。如果數據框是 ,我們通過列印消息來處理這種情況。這可以防止發生錯誤。hs300NoneNoneTypeError: 'NoneType' object is not subscriptable

回答不易望請採納

⑷ 解決 pandas_datareader 無法獲取雅虎財經數據的問題

pandas_datareader 是重要的 pandas 相關包,原來是 pandas.io.data 方法,用於獲取介面數據,比如雅虎財經上的數據或者美聯儲路易斯安娜分行的數據,但是在最近版本(比如 pandas 0.20)中 pandas.io.data 的方法獨立出來稱為一個新的包 pandas_datareader 。

雅虎財經和谷歌財經的介面變換頻繁。如果用 pip install pandas_datareader ,已經無法得到雅虎財經。

pandas_datareader github Issuse #315 針對的就是雅虎財經介面無法訪問的問題, gusutabopb 在 5月21日進行了成功修正,並提供了他修正後的 pandas_datareader 新版本。

該修正版本的安裝方法是

安裝以後測試獲取 google 的股票數據成功。

參考:
Issues with the data reader fetching yahoo finance #315

Error with pulling data from Yahoo Finance

⑸ 混合型\股票型基金有什麼辦法可以實時查看漲跌走勢 和指數型基金一樣。

沒有辦法查看漲跌走勢圖。
股票說白了就是一種「商品」,和別的商品一樣,它的價格也受到它的內在價值(標的公司價值)的控制,而且它的價格無論怎樣變化都是圍繞之價值周圍的。
像普通商品一樣,股票的價格波動,供求關系影響著它的價格變化。
和豬肉有一樣,當需求的豬肉量大幅度增長,豬肉的供給卻跟不上,那豬肉價肯定上升;當市場上的豬肉越來越多,而人們的需求卻達不到那麼多,供給大於需求,那價格就會下跌。
股票的價格波動表現為:10元/股的價格,50個人賣出,但市場上有100個買,那另外50個買不到的人就會以11元的價格買入,導致股價上漲,否則就會下跌(由於篇幅問題,這里將交易進行簡化了)。
平日里,買賣雙方的情緒會受到很多事情的影響,進而影響到供求關系的穩定,其中影響比較大的因素有3個,接下來我將給大家進行詳細說明。
在這之前,先給大家送波福利,免費領取各行業的龍頭股詳細信息,涵蓋醫療、軍工、新能源能熱門產業,隨時可能被刪:【絕密】機構推薦的牛股名單泄露,限時速領!!

一、哪些因素會使得股票出現漲跌變化?
1、政策
國家政策引領著行業和產業,比如說新能源,幾年前我國開始對新能源進行開發,針對相關的企業、產業都展開了幫扶計劃,比如補貼、減稅等。
這就招來大量的市場資金,對於相關行業板塊或者上市公司,都會不斷的尋找它們,最後引起股票的漲跌。
2、基本面
看長期的趨勢,市場的走勢和基本面相同,基本面向好,市場整體就向好,比如說疫情期間我國經濟優先恢復增長,企業的經營狀況變好,股市也會出現回彈的情況。
3、行業景氣度
這點是關鍵所在,不言而喻,股票的漲跌不會脫離行業走勢,行業景氣度和公司股票的漲幅程度成正比,比如上面說到的新能源。
為了讓大家及時了解到最新資訊,我特地掏出了壓箱底的寶貝--股市播報,能及時掌握企業信息、趨勢拐點等,點擊鏈接就能免費獲取:【股市晴雨表】金融市場一手資訊播報
二、股票漲了就一定要買嗎?
許多新手剛接觸到股票,一看某支股票漲勢大好,馬上花了幾萬塊投資,後來竟然一路下跌,被套的非常牢。其實股票的變化起伏可以進行短期的人為控制,只要有人持有足夠多的籌碼,一般來說占據市場流通盤的40%,就可以完全控制股價。學姐覺得如果你還處於小白階段,把長久持有龍頭股進行價值投資放在第一位,防止在短線投資中出現大量損失。吐血整理!各大行業龍頭股票一覽表,建議收藏!

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

⑹ 如何從tushare中調取十大股東數據

0. 簡介

TuShare是一個免費、開源的Python財經數據介麵包。主要實現對股票等金融數據從數據採集、清洗加工 到 數據存儲的過程,能夠為金融分析人員提供快速、整潔、和多樣的便於分析的數據,為他們在數據獲取方面極大地減輕工作量,使他們更加專注於策略和模型的研究與實現上。考慮到Python pandas包在金融量化分析中體現出的優勢,TuShare返回的絕大部分的數據格式都是pandas DataFrame類型。
1. 歷史行情
獲取個股歷史交易數據(包括均線數據),可以通過參數設置獲取日k線、周k線、月k線,以及5分鍾、15分鍾、30分鍾和60分鍾k線數據。本介面只能獲取近3年的日線數據,適合搭配均線數據進行選股和分析。

參數說明:
code:股票代碼,即6位數字代碼,或者指數代碼(sh=上證指數 sz=深圳成指 hs300=滬深300指數 sz50=上證50 zxb=中小板 cyb=創業板)
start:開始日期,格式YYYY-MM-DD
end:結束日期,格式YYYY-MM-DD
ktype:數據類型,D=日k線 W=周 M=月 5=5分鍾 15=15分鍾 30=30分鍾 60=60分鍾,默認為D
retry_count:當網路異常後重試次數,默認為3
pause:重試時停頓秒數,默認為0
返回值說明:
date:日期
open:開盤價
high:最高價
close:收盤價
low:最低價
volume:成交量
price_change:價格變動
p_change:漲跌幅
ma5:5日均價
ma10:10日均價
ma20:20日均價
v_ma5:5日均量
v_ma10:10日均量
v_ma20:20日均量
turnover:換手率[註:指數無此項]
(1) #獲取全部日k線數據(查看前11行)

⑺ 中國的 Python 量化交易工具鏈有哪些

萬得的Python API,可以用來獲取實時數據、歷史數據以及下單交易 優點:萬得大而全 缺點:下單交易功能不是事件驅動(例如成交回報需要用戶去查詢,而不是主推)
同花順iFinD的Python API,類似萬得的API 優點:比萬得便宜,同花順的服務態度很好(用戶提出新需求後很快就能給出確定的答復或者解決方案)
掘金的量化平台
通聯數據的量化平台
QuickFix的Python API(可以用來接國信、方正的FIX介面)
Numpy/Scipy/Matplotlib/Pandas(量化分析)
IPyhon/Spyder(適合做量化分析的IDE環境)
Zipline(策略開發回測)
TuShare財經數據介面 - 可以直接抓取新浪財經、鳳凰財經的網站數據,包括行情、基本面、經濟數據等等。完全免費,簡潔易用,API設計得非常友好,提取的數據格式是Pandas的DataFrame。同時可以獲取非高頻實時數據(取決於網站更新速度,同事經驗大約是15秒),一個極好的非高頻股票策略數據解決方案。
恆生電子的量化贏家平台,提供Python介面,鏈接我點進去後沒看到具體的使用教程,希望回頭補一下。
米礦ricequant在我提出這個問題時尚只有Java的API,後來也支持了Python,期待2016有新的突破。