Trong bài viết này, chúng tôi sẽ giới thiệu cách thực hiện phân tích kỹ thuật với Python. Python có một số thư viện để thực hiện phân tích kỹ thuật các khoản đầu tư. Chúng tôi sẽ so sánh ba thư viện - ta, pandas_ta và bta-lib.
Thư viện ta cho phân tích kỹ thuật
Một trong những tính năng tốt nhất của gói ta là nó cho phép bạn thêm hàng chục chỉ báo kỹ thuật cùng một lúc. Để bắt đầu, cài đặt thư viện ta bằng pip:
pip install ta
Tiếp theo, hãy nhập các gói cần thiết. Chúng tôi sẽ sử dụng yahoo_fin để lấy dữ liệu giá cổ phiếu. Bây giờ, data chứa giá cổ phiếu lịch sử cho AAPL.
# load packages
import yahoo_fin.stock_info as si
import pandas as pd
from ta import add_all_ta_features
# pull data from Yahoo Finance
data = si.get_data("aapl")
Tiếp theo, chúng ta sử dụng thư viện ta để thêm một bộ các đặc trưng kỹ thuật. Bên dưới, chúng ta chỉ cần chỉ định các trường tương ứng với giá mở cửa, giá cao nhất, giá thấp nhất, giá đóng cửa và khối lượng. Cuộc gọi này duy nhất tự động thêm hơn 80 chỉ báo kỹ thuật, bao gồm RSI, stochastics, moving averages, MACD, ADX và nhiều hơn nữa.
# add technical analysis features
data = add_all_ta_features(
data, open="open", high="high", low="low", close="adjclose", volume="volume"
)
Ví dụ, đây là các giá trị RSI (sử dụng phép tính 14 ngày thông thường):
from ta.momentum import RSIIndicator
rsi_21 = RSIIndicator(close=data.adjclose, window=21)
data["rsi_21"] = rsi_21.rsi()
Tương tự, chúng ta có thể sử dụng mô-đun trend để tính toán MACD.
from ta.trend import macd
data["macd"] = macd(data.adjclose, window_slow=26, window_fast=12)
Để tìm hiểu thêm về ta, hãy xem tài liệu tại đây.
Thư viện pandas_ta
Một sự thay thế cho thư viện ta là thư viện pandas_ta. Hãy bắt đầu với pandas_ta bằng cách cài đặt nó bằng pip:
pip install pandas_ta
Khi bạn nhập pandas_ta, nó cho phép bạn thêm các chỉ báo mới theo cách hướng đối tượng dễ thương. pandas_ta làm điều này bằng cách thêm một phần mở rộng cho khung dữ liệu pandas. Dưới đây là một ví dụ tính toán chỉ số TSI (True Strength Index).
import pandas_ta
data = si.get_data("aapl")
data.ta.adjusted = "adjclose"
data.ta.tsi()
Lưu ý rằng theo mặc định, pandas_ta sẽ sử dụng cột "close" trong khung dữ liệu. Để thay đổi điều này thành giá đóng cửa điều chỉnh, chúng ta thêm dòng trên data.ta.adjusted = "adjclose"
.
Dưới đây là một số ví dụ khác:
data.ta.sma(length=10)
data.ta.adx()
Nhấp vào đây để tìm hiểu thêm về pandas_ta.
Thư viện bta-lib cho phân tích kỹ thuật
Thư viện thứ ba bạn có thể sử dụng cho phân tích kỹ thuật là gói bta-lib. Thư viện này được tạo ra với mục đích dễ đọc chỉ báo kỹ thuật và làm cho việc tạo ra các chỉ báo mới dễ dàng. Tương tự như các thư viện trên, bạn có thể cài đặt nó bằng pip:
pip install bta-lib
btalib được nhập như sau.
import btalib
data = si.get_data("aapl")
stoch = btalib.stochastic(data)
print(stoch.df)
Bạn có thể lấy các giá trị mặc định cho mỗi chỉ báo bằng cách xem doc
. Một tính năng tốt của btalib là chuỗi doc của các chỉ báo cung cấp mô tả về công việc của chúng.
print(btalib.stochastic.__doc__)
Để tìm hiểu thêm về bta-lib, hãy nhấp vào đây.
Kết luận
Đó là tất cả cho bài viết này! Theo dõi các bài viết mới của tôi bằng cách đăng ký. Nếu bạn thích bài viết này, hãy chia sẻ với bạn bè của bạn.