Skip to main content

get stock data from different APIs and Analyze Stock Data

Project description

EZFintech

Pypi: ezfintech

1. Introduction

沪深股票数据

  • 数据来源包括: Netease,Sohu,StockStar
  • 数据API(ezfintech.stockData)
    • 日数据(当日、4日数据)
    • 年数据(一年的数据)
    • 周期数据(日/周/月数据)
    • 区间数据(起止日期内的数据)
    • 实时数据(未开发)
    • 多只股票合表数据(未开发)
  • 数据可视化(ezfintech.stockVisualization)
    • K线图
    • 金叉死叉
    • 布林带
  • 数据分析(ezfintech.stockAnalysis)
    • 回归分析
    • 相关性分析
  • 股票金融相关知识(ezfintech.stockKnowledge)
  • 股票模型(ezfintech.stockAlgorithms.EZLSTM)

2. 依赖包

numpy,pandas,matplotlib,requests,mplfinance,pandas_datareader

3. 使用方式

3.1 安装

python pip install ezfintech

3.2 导入

import ezfintech.stockData as ezd
import ezfintech.stockAnalysis as eza
import ezfintech.stockVisualization as ezv
import ezfintech.stockKnowledge as ezk
import ezfintech.stockModels.EZLSTM as ezm

3.3 使用

(1) 获取股票数据


  • 日数据
ezd.getStockByDay(stockCode,day="today",source="126")  
stockCode:"XXXXXXX"
day: "today" / "4d"  
source: "126"  
  • 年数据
ezd.getStockByYear(stockCode,year="2020",adjust="klinederc",source="126")  
stockCode:"XXXXXXX"
year: "YYYY"   
adjust: "kline" / "klinederc"    
source: "126"  
  • 周期数据
ezd.getStockByPeriod(stockCode,period="week",adjust="klinederc",source="126")  
stockCode:"XXXXXXX"
period: "day" / "week" / "month"  
adjust: "kline" / "klinederc"   
source: "126" / "stockstar"  
  • 区间数据
ezd.getStockByTwoDate(stockCode,startDate="20210301",endDate="20210308",source="sohu")  
stockCode:"XXXXXX"
startDate: "YYYYMMDD"  
endDate: "YYYYMMDD"  
source: "sohu"  
  • 获取FamaFrench因子数据
ezd.getFamaFrenchFactors(ffType="3factors",startDate="",endDate="")  
ffType: 3factors/5factors  
startDate: "YYYY-MM-DD"  
endDate: "YYYY-MM-DD"  

(2) 股票数据可视化


  • K线图
ezv.plotKLine(data,movingAvg=(3,6,9),plotType="candle",startDate="",endDate="")  
data: pd.Dataframe  
movingAvg: (X1,X2,X3) or X1    
plotType: "candle" / "line" / "renko" / "pnf"  
startDate: "YYYY-MM-DD"  
endDate: "YYYY-MM-DD"  
  • 金叉死叉
ezv.plotDoubleCross(data,priceType="Close",movingAvg=(5,40),startDate="",endDate="",returnData=False)  
data: pd.DataFrame with Date(index), Open/High/Low/Close/Volume(Columns)  
priceType: Close/Adj Close/Open/High/Low  
movingAvg: (period1,period2)  
startDate: "YYYY-MM-DD"   
endDate: "YYYY-MM-DD"  
returnData: True/False  
  • 布林带
ezv.plotBollingerBand(data,priceType="Close",n=2,movingAvg=40,startDate="",endDate="",returnData=False)  
data: pd.DataFrame with Date(index), Open/High/Low/Close/Volume(Columns)  
priceType: Close/Adj Close/Open/High/Low  
n: how many times of deviation   
movingAvg: period  # 移动平均时间  
startDate: "YYYY-MM-DD"  
endDate: "YYYY-MM-DD"  
returnData: True/False  

(3) 股票数据分析


  • 双股票回归分析
eza.regression2Stocks(stock1,stock2,startDate="",endDate="",regressDeg=1)  
stock1/stock2: pd.DataFrame with Date(index), Open/High/Low/Close/Volume(Columns)  
startDate: "YYYY-MM-DD"  
endDate: "YYYY-MM-DD"  
regressDeg: num  # 线性回归的次方  
  • 自定义OLS分析
eza.OLS(X,Y)  
Y: T x 1  
X: T x N  
  • 双股票相关性分析
eza.correlation2Stocks(stock1,stock2,startDate="",endDate="")  
stock1/stock2: pd.DataFrame  
startDate: "YYYY-MM-DD"  
endDate: "YYYY-MM-DD"  
regressDeg: num  

(4) 股票知识


  • 股票知识
ezk.getStockKnowledge()  
  • 金融分析知识
ezk.getFinanceAnalysisKnowledge()  
  • 量化投资知识
ezk.getQuantitativeInvestmentKnowledge()  

(4) 股票模型


  • LSTM
ezm.EZLSTM(outputSize, returnSequence)  
outputsize: XX   # 数字  
returnSequence: False/True  

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezfintech-0.0.331.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezfintech-0.0.331-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file ezfintech-0.0.331.tar.gz.

File metadata

  • Download URL: ezfintech-0.0.331.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.6

File hashes

Hashes for ezfintech-0.0.331.tar.gz
Algorithm Hash digest
SHA256 1fd13ce30a7b96639df332d2ad22243ae05f107166ff25e763ad3ff10e319f8b
MD5 e2cbed1c4017f0c6b5f62c16311e7a48
BLAKE2b-256 baebfcb5e7f60c4a069f5d4bec2f073ee30b1ec7926372ad537cbcbdd93df1c6

See more details on using hashes here.

File details

Details for the file ezfintech-0.0.331-py3-none-any.whl.

File metadata

  • Download URL: ezfintech-0.0.331-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.6

File hashes

Hashes for ezfintech-0.0.331-py3-none-any.whl
Algorithm Hash digest
SHA256 fefaa10d40b730de8ffee035c48caf87144b1df9e96a6d3c4e92d6cb3dcd8447
MD5 7498c616a1a69a50366459f26e00a282
BLAKE2b-256 a989aec4fa0e3eb4dd87af1e2c88ce3c6916fb53c002d5afcca535bb932fc5db

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page