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 hashes)
Built Distribution
Close
Hashes for ezfintech-0.0.331-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fefaa10d40b730de8ffee035c48caf87144b1df9e96a6d3c4e92d6cb3dcd8447 |
|
MD5 | 7498c616a1a69a50366459f26e00a282 |
|
BLAKE2b-256 | a989aec4fa0e3eb4dd87af1e2c88ce3c6916fb53c002d5afcca535bb932fc5db |