yfinance
yfinance國內不能使用,可以使用tushare、akshare代替
import yfinance as yf# 輸入股票代碼
stock_symbol = 'AAPL' # 替換為你想要查詢的股票代碼# 獲取股票數據
data = yf.download(stock_symbol)# 打印實時數據
print(data)
pip install akshare
import akshare as ak
df = ak.stock_zh_a_hist("001379", start_date="2024-02-01")
print(df)
pip install tushare,tushare需要使用tushare官網注冊后提供的token
import tushare as ts# 設置 tushare pro 的 token
ts.set_token('your_token_here')# 初始化 pro 接口
pro = ts.pro_api()# 獲取股票日線行情數據
df = pro.daily(ts_code='600519.SH', start_date='20210101', end_date='20210131')# 打印數據
print(df.head())
-
賬戶接入
券商的api接口通常不會公開,你需要直接與券商進行溝通和合作
國內提供交易接口的券商- 招商證券
- 華泰證券
- 中信證券
- 國泰君安
backtrader
pip install backtrader
class MyStrategy(bt.Strategy):def __init__(self):self.sma = bt.indicators.SimpleMovingAverage(self.data.close, period=20)def next(self):if self.data.close(0) > self.sma(0):self.buy()elif self.data.close(0) < self.sma(0):self.sell()cerebro.adddata(data)
cerebro.optstrategy(MyStrategy, sma_period=range(10, 30), rsi_period=range(10, 30))
cerebro.run()