📅  最后修改于: 2023-12-03 15:06:54.014000             🧑  作者: Mango
TradingView是一款非常受欢迎的股票和数字货币图表分析工具,提供了大量历史数据和技术指标。本文介绍如何使用Python获取TradingView的历史数据,并进行一些简单的分析。
首先,您需要安装Python和必要的库,包括pandas、mplfinance和ccxt。您可以使用pip命令在命令行中进行安装:
pip install pandas mplfinance ccxt
在获取数据之前,您需要连接到一个支持的交易所。CCXT是一个流行的Python库,可以方便地与多个交易所进行连接。以下是连接到Binance并获取BTC/USDT交易对的历史数据的示例代码:
import ccxt
import pandas as pd
exchange = ccxt.binance()
symbol = 'BTC/USDT'
candles = exchange.fetch_ohlcv(symbol, '1d')
df = pd.DataFrame(candles, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume'])
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')
df.set_index('timestamp', inplace=True)
上面的代码将获取BTC/USDT交易对的历史日K线数据,并将它们转换为一个pandas DataFrame对象。您可以通过更改交易对和时间间隔来获取不同的历史数据。
现在您已经获取了历史数据,可以使用mplfinance库绘制具有技术指标的图表。以下是绘制简单蜡烛图的代码:
import mplfinance as mpf
mpf.plot(df, type='candle', volume=True)
如果您想添加一些技术指标,例如移动平均线和相对强弱指数,可以使用以下代码:
import mplfinance as mpf
add_plots = [
mpf.make_addplot(df['close'].rolling(window=20).mean(), color='orange'),
mpf.make_addplot(df['close'].rolling(window=50).mean(), color='blue'),
mpf.make_addplot(mpf.relative_strength_index(df['close']), panel=1)
]
mpf.plot(df, type='candle', addplot=add_plots, volume=True, panel_ratios=(2,1))
上面的代码将添加20天和50天的移动平均线,以及相对强弱指数(RSI)的面板。您还可以通过修改panel_ratios参数来调整图表的面板布局。
获取历史数据后,您可以使用pandas库进行一些简单的数据分析。以下是计算BTC/USDT价格涨跌幅的代码:
returns = df['close'].pct_change()
上面的代码将计算BTC/USDT每日收盘价的百分比变化。您可以使用此数据计算其他指标并进行更多分析。
本文介绍了如何使用Python连接到TradingView支持的交易所并获取历史数据。然后,您可以使用mplfinance和pandas等库进行图表绘制和数据分析。通过掌握这些技能,您可以更轻松地制定交易策略和进行决策。