Ví dụ về chiến lược giao dịch Python

Trong bài viết này, tôi sẽ xây dựng dựa trên các lý thuyết được mô tả trong bài viết trước của mình và chỉ cho bạn cách xây dựng thuật toán triển khai chiến lược của riêng bạn

Bây giờ, mục đích của việc này không phải là xây dựng một mô hình hoàn toàn phức tạp sử dụng tất cả các loại thuật toán và tín hiệu AI để đạt được lợi thế cạnh tranh, chúng ta sẽ đề cập đến điều đó trong các bài viết sau. Tôi sẽ trình bày một chiến lược đơn giản, hy vọng sẽ cung cấp cho bạn một khuôn mẫu để tìm hiểu và viết mã cho các chiến lược của riêng bạn trong tương lai

Chiến lược này sử dụng các dải Bollinger để xác định các mức mua quá mức và bán quá mức, đồng thời giao dịch dựa trên các khu vực đó

Dải bollinger, do John Bollinger tạo ra vào những năm 80, cung cấp thông tin chi tiết ngắn gọn về cả giá cả và sự biến động của một công cụ. Bao gồm 3 đường, một đường ở giữa thường là đường SMA trung bình động đơn giản trong 20 ngày và các đường trên và dưới biểu thị mức độ lệch chuẩn đã đặt so với đường SMA đó, thường gấp 2 lần độ lệch chuẩn

Bạn có thể tạo sổ ghi chép đầu tiên của mình bằng cách nhấp vào danh sách thả xuống

# set the API key
q.ApiConfig.api_key = "”
9 ở bên phải. Hãy chắc chắn rằng bạn đã tạo một tài khoản trên Quandl. Thực hiện theo các bước được đề cập ở đây để tạo khóa API của bạn

Khi bạn đã sẵn sàng, hãy bắt đầu ngay

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
2____13

Pandas sẽ là gói được sử dụng nghiêm ngặt nhất trong hướng dẫn này vì chúng ta sẽ thực hiện rất nhiều thao tác và vẽ biểu đồ dữ liệu

Sau khi các gói được nhập, chúng tôi sẽ thực hiện các yêu cầu đối với API Quandl bằng cách sử dụng gói Quandl

# set the API key
q.ApiConfig.api_key = "”
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
5
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
6

Ở đây chúng tôi có dữ liệu định giá cổ phiếu EOD của Microsoft trong 9 năm qua. Tất cả những gì bạn phải làm là gọi phương thức

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
50 từ gói Quandl và cung cấp ký hiệu chứng khoán, MSFT và khung thời gian cho dữ liệu bạn cần.

Điều này thực sự đơn giản, phải không?

Phân tích dữ liệu thăm dò về dữ liệu định giá cổ phiếu

Với dữ liệu trong tay, điều đầu tiên chúng ta nên làm là hiểu nó đại diện cho cái gì và nó bao hàm loại thông tin gì

In thông tin của DataFrame, chúng ta có thể thấy tất cả những gì nó chứa

Như đã thấy trong ảnh chụp màn hình ở trên, DataFrame chứa Datetime Index, có nghĩa là chúng tôi đang xử lý dữ liệu chuỗi thời gian

Một chỉ mục có thể được coi là một cấu trúc dữ liệu giúp chúng ta sửa đổi hoặc tham chiếu dữ liệu. Dữ liệu chuỗi thời gian là một chuỗi các ảnh chụp nhanh về giá được thực hiện liên tiếp trong các khoảng thời gian cách đều nhau

Trong giao dịch, dữ liệu định giá cổ phiếu EOD nắm bắt chuyển động của các tham số nhất định về cổ phiếu, chẳng hạn như giá cổ phiếu, trong một khoảng thời gian xác định với các điểm dữ liệu được ghi lại theo các khoảng thời gian đều đặn

thuật ngữ quan trọng

Nhìn vào các cột khác, hãy cố gắng hiểu mỗi cột đại diện cho điều gì

  • Mở/Đóng — Nắm bắt giá mở/đóng của cổ phiếu
  • Adj_Open/Adj_Close — Giá mở/đóng điều chỉnh là giá của cổ phiếu vào bất kỳ ngày giao dịch cụ thể nào đã được sửa đổi để bao gồm mọi khoản chia cổ tức, chia cổ phiếu và các hành động khác của công ty xảy ra vào bất kỳ thời điểm nào trước khi mở cửa vào ngày hôm sau
  • Khối lượng — Nó ghi lại số lượng cổ phiếu đang được giao dịch vào bất kỳ ngày giao dịch nào
  • Cao/Thấp — Nó theo dõi giá cao nhất và thấp nhất của cổ phiếu trong một ngày giao dịch cụ thể

Đây là những cột quan trọng mà chúng tôi sẽ tập trung vào thời điểm này

Chúng ta có thể tìm hiểu về thống kê tóm tắt của dữ liệu, cho chúng ta biết số lượng hàng, giá trị trung bình, giá trị tối đa, độ lệch chuẩn, v.v. Hãy thử chạy dòng mã sau trong ô Ipython

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
8

resample[]

Phương thức resample[] của Pandas được sử dụng để tạo điều kiện kiểm soát và tính linh hoạt trong việc chuyển đổi tần số của dữ liệu chuỗi thời gian. Chúng tôi có thể chỉ định các khoảng thời gian để lấy mẫu lại dữ liệu thành hàng tháng, hàng quý hoặc hàng năm và thực hiện thao tác cần thiết đối với dữ liệu đó

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
9

Đây là một cách thú vị để phân tích hiệu suất cổ phiếu trong các khung thời gian khác nhau.

Tính lợi nhuận

Lợi nhuận tài chính chỉ đơn giản là số tiền kiếm được hoặc mất đi khi đầu tư. Lợi tức có thể được biểu thị trên danh nghĩa là sự thay đổi về số tiền đầu tư theo thời gian. Nó có thể được tính bằng tỷ lệ phần trăm thu được từ tỷ lệ lợi nhuận trên đầu tư

Chúng tôi có pct_change[] theo ý của chúng tôi cho mục đích này. Đây là cách bạn có thể tính lợi nhuận

# Let's just look at 2015 onwardsdata_df.sort_index[inplace=True]data_df = data_df.loc['2015-01-01':]# Rename & rearrange the fields so they can be ingested by Backtraderdata_df = data_df.loc[:, ['2. high', '3. low', '1. open', '4. close']]
data_df.columns = ['High', 'Low', 'Open', 'Close']
0____21
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
20
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
21
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
22

Điều này sẽ in lợi nhuận mà cổ phiếu đã được tạo ra hàng ngày. Nhân số với 100 sẽ cho bạn phần trăm thay đổi

Công thức được sử dụng trong pct_change[] là

Trả về = {[Giá tại t] — [Giá tại t-1]} / {Giá tại t-1}

Bây giờ, để tính tiền lãi hàng tháng, tất cả những gì bạn cần làm là

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
23

Sau khi lấy mẫu lại dữ liệu theo tháng [đối với ngày làm việc], chúng ta có thể lấy ngày giao dịch cuối cùng trong tháng bằng cách sử dụng hàm

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
51

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
51 nhận một chức năng và áp dụng nó cho từng hàng của chuỗi Pandas. Hàm
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
53 là một hàm ẩn danh trong Python, có thể được định nghĩa mà không cần đặt tên và chỉ nhận các biểu thức ở định dạng sau

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
24

Ví dụ,

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
54 là một hàm lambda. Ở đây, x là đối số và
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
55 là biểu thức được đánh giá và trả về

Đường trung bình động trong giao dịch

Khái niệm về đường trung bình động sẽ xây dựng cơ sở cho chiến lược giao dịch dựa trên động lượng của chúng tôi

Trong lĩnh vực tài chính, các nhà phân tích thường phải đánh giá các số liệu thống kê liên tục trong một cửa sổ thời gian trượt, được gọi là tính toán cửa sổ di chuyển

Hãy xem cách chúng tôi có thể tính giá trị trung bình luân phiên trong khoảng thời gian 50 ngày và trượt cửa sổ thêm 1 ngày

lăn[]

Đây là chức năng kỳ diệu thực hiện các mánh khóe cho chúng ta

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
25_______126
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
27

Bạn sẽ thấy giá trị trung bình luân phiên trong khoảng thời gian 50 ngày [khoảng. 2 tháng]. Đường trung bình động giúp làm dịu mọi biến động hoặc đột biến trong dữ liệu và cung cấp cho bạn một đường cong mượt mà hơn cho hiệu suất của công ty.

Chúng ta có thể vẽ đồ thị và thấy sự khác biệt

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
28

Giờ đây, bạn có thể vẽ đồ thị trung bình cán [].

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
29

Và bạn có thể tự mình nhìn thấy sự khác biệt, mức độ tăng đột biến trong dữ liệu được sử dụng như thế nào để đưa ra cảm nhận chung về hiệu suất của cổ phiếu.

Xây dựng chiến lược giao dịch

Đây là phần cuối cùng và thú vị nhất. thiết kế và đưa ra chiến lược giao dịch. Đây sẽ là hướng dẫn từng bước để phát triển chiến lược Giao nhau giữa đường trung bình động đơn giản [SMAC] dựa trên đà

Các chiến lược dựa trên động lượng dựa trên một chỉ báo kỹ thuật tận dụng sự tiếp tục của xu hướng thị trường. Chúng ta mua chứng khoán có xu hướng tăng và bán khống chứng khoán có xu hướng giảm

Chiến lược SMAC là một chiến lược động lượng sơ đồ nổi tiếng. Đó là một chiến lược lâu dài. Động lượng, ở đây, là tổng lợi nhuận của cổ phiếu bao gồm cả cổ tức trong n tháng qua. Khoảng thời gian n tháng này được gọi là khoảng thời gian nhìn lại

Có 3 loại giai đoạn xem lại chính. ngắn hạn, trung hạn và dài hạn. Chúng ta cần xác định 2 khoảng thời gian xem lại khác nhau của một chuỗi thời gian cụ thể

Tín hiệu mua được tạo ra khi giá trị trung bình động [hoặc trung bình di động] nhìn lại ngắn hơn vượt quá giá trị trung bình di động nhìn lại dài hơn. Tín hiệu bán xảy ra khi đường trung bình động nhìn lại ngắn hơn giảm xuống dưới đường trung bình động dài hơn

Bây giờ, hãy xem mã cho chiến lược này sẽ trông như thế nào

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
30
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
31
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
32
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
33
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
34
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
35

Hãy xem những gì đang xảy ra ở đây. Chúng tôi đã tạo 2 giai đoạn xem lại. Khoảng thời gian nhìn lại ngắn

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
56 là 50 ngày và khoảng thời gian nhìn lại dài hơn đối với đường trung bình động dài được định nghĩa là
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
57 là 120 ngày

Chúng tôi đã tạo một DataFrame mới được thiết kế để thu tín hiệu. Các tín hiệu này được tạo ra bất cứ khi nào đường trung bình động ngắn cắt đường trung bình động dài bằng cách sử dụng

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
58. Nó gán
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
59 cho true và
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
60 nếu điều kiện đưa ra là false

Các cột

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
61 trong DataFrame cho chúng tôi biết liệu có tín hiệu mua hay tín hiệu bán hay không. Về cơ bản, chúng tôi đang tính toán sự khác biệt trong cột tín hiệu từ hàng trước đó bằng cách sử dụng diff

Và ở đó, chúng tôi đã thực hiện chiến lược của mình chỉ trong 6 bước bằng cách sử dụng Pandas. Dễ dàng, phải không?

Bây giờ, hãy thử hình dung điều này bằng Matplotlib. Tất cả những gì chúng ta cần làm là khởi tạo một biểu đồ, thêm giá đóng cửa đã điều chỉnh, các đường trung bình động ngắn và dài vào biểu đồ, sau đó vẽ các tín hiệu mua và bán bằng cách sử dụng cột vị thế trong

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
62 ở trên

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
36
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
37____138
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
39
# set the API key
q.ApiConfig.api_key = "”
0
# set the API key
q.ApiConfig.api_key = "”
1

Chạy ô trên trong sổ ghi chép Jupyter sẽ mang lại một biểu đồ giống như biểu đồ bên dưới

Bây giờ, bạn có thể thấy rõ ràng rằng bất cứ khi nào đường màu xanh lam [đường trung bình động ngắn hạn] đi lên và vượt ra ngoài đường màu cam [đường trung bình động dài hạn], sẽ có một điểm đánh dấu hướng lên màu hồng cho biết tín hiệu mua

Tín hiệu bán được biểu thị bằng một điểm đánh dấu đi xuống màu đen trong đó có sự sụt giảm của

cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
63 bên dưới
cc = ForeignExchange[key=os.environ['alpha_vantage_token'],output_format='pandas']# We will retrieve daily OHLC prices, Alpha vantage also contains intraday results which are difficult to come by elsewheredata_df, metadata_df = cc.get_currency_exchange_daily[from_symbol='GBP',to_symbol='USD', outputsize='full']#Plot what the data looks likedata_df['4. close'].plot[]
plt.tight_layout[]
plt.title['Intraday GBP/USD']
plt.show[]
64

Trực quan hóa Hiệu suất của Chiến lược trên Quantopian

Quantopian là một nền tảng hỗ trợ Zipline có các trường hợp sử dụng đa dạng. Bạn có thể viết các thuật toán của riêng mình, truy cập dữ liệu miễn phí, kiểm tra lại chiến lược của mình, đóng góp cho cộng đồng và cộng tác với Quantopian nếu bạn cần vốn

Chúng tôi đã viết một thuật toán để kiểm tra lại chiến lược SMA của mình và đây là kết quả

Dưới đây là giải thích về các số liệu trên

  • Bắt đầu lại từ đầu. Tổng tỷ lệ phần trăm lợi nhuận của danh mục đầu tư từ đầu đến cuối backtest
  • trở lại cụ thể. Sự khác biệt giữa tổng lợi nhuận của danh mục đầu tư và lợi nhuận chung
  • lợi nhuận chung. Lợi nhuận được quy cho các yếu tố rủi ro phổ biến. Có 11 lĩnh vực và 5 yếu tố rủi ro phong cách tạo nên những lợi nhuận này. Các biểu đồ Phơi nhiễm theo ngành và Phơi nhiễm theo phong cách trong phần Rủi ro cung cấp thêm chi tiết về các yếu tố này
  • sắc bén. Tỷ lệ Sharpe cán 6 tháng. Nó là thước đo đầu tư được điều chỉnh theo rủi ro. Nó được tính bằng cách chia lợi nhuận vượt trội của danh mục đầu tư trên lãi suất phi rủi ro cho độ lệch chuẩn của danh mục đầu tư
  • Rút tiền tối đa. Mức giảm lớn nhất trong tất cả các chuyển động từ đỉnh đến đáy trong lịch sử của danh mục đầu tư
  • biến động. Độ lệch chuẩn của lợi nhuận danh mục đầu tư

Hãy tự vỗ về vì bạn đã thực hiện thành công chiến lược giao dịch định lượng của mình

Đi đâu từ đây?

Bây giờ thuật toán của bạn đã sẵn sàng, bạn sẽ cần kiểm tra lại kết quả và đánh giá các số liệu lập bản đồ rủi ro liên quan đến chiến lược và cổ phiếu. Một lần nữa, bạn có thể sử dụng BlueShift và Quantopian để tìm hiểu thêm về kiểm tra lại và chiến lược giao dịch

Tài nguyên khác

https. // lượng. định lượng. com/learning-track/algorithmic-trading-for-everyone?utm_source=harshit_tyagi&utm_medium=affiliate&utm_campaign=lt_everyone

Quantra là đứa con tinh thần của QuantInsti. Với một loạt các khóa học miễn phí và trả phí của các chuyên gia trong lĩnh vực này, Quantra cung cấp hướng dẫn kỹ lưỡng về một loạt các chiến lược giao dịch cơ bản và nâng cao

  • Khóa học về Khoa học dữ liệu — Họ đã triển khai khóa học giới thiệu về Khoa học dữ liệu giúp bạn xây dựng nền tảng vững chắc cho các dự án trong Khoa học dữ liệu
  • Các khóa học giao dịch dành cho người mới bắt đầu — Từ giao dịch theo đà cho đến các chiến lược giao dịch dựa trên máy móc và học sâu, các nhà nghiên cứu trong thế giới giao dịch như Tiến sĩ. Ernest P. Chan là tác giả của các khóa học thích hợp này

Tài nguyên miễn phí

Để tìm hiểu thêm về các thuật toán giao dịch, hãy xem các blog này

  • Quantstart — chúng bao gồm nhiều loại thuật toán kiểm tra lại, hướng dẫn cho người mới bắt đầu, v.v.
  • Investopedia — mọi thứ bạn muốn biết về đầu tư và tài chính
  • Quantivity — giải thích toán học chi tiết về các thuật toán và ưu và nhược điểm của chúng

Warren Buffet cho biết ông đọc khoảng 500 trang mỗi ngày, điều này cho bạn biết rằng đọc là điều cần thiết để thành công trong lĩnh vực tài chính

Bắt tay vào hành trình giao dịch này và bạn có thể có một cuộc sống đầy hứng thú, đam mê và toán học

Khoa học dữ liệu với Harshit

Với kênh này, tôi dự định tung ra một vài loạt phim về toàn bộ không gian khoa học dữ liệu. Đây là lý do tại sao bạn nên đăng ký kênh

  • Loạt bài này sẽ bao gồm tất cả các hướng dẫn chất lượng bắt buộc/được yêu cầu về từng chủ đề và chủ đề phụ như nguyên tắc cơ bản về Python cho Khoa học dữ liệu
  • Toán học được giải thích và nguồn gốc của lý do tại sao chúng tôi làm những gì chúng tôi làm trong ML và Deep Learning
  • Podcast với các nhà khoa học và kỹ sư dữ liệu tại Google, Microsoft, Amazon, v.v. và CEO của các công ty điều khiển dữ liệu lớn
  • Các dự án và hướng dẫn thực hiện các chủ đề đã học cho đến nay. Tìm hiểu về các chứng chỉ mới, Bootcamp và tài nguyên để đạt được các chứng chỉ đó như Kỳ thi chứng chỉ nhà phát triển TensorFlow này của Google

Nếu hướng dẫn này hữu ích, bạn nên xem các khóa học về khoa học dữ liệu và máy học của tôi trên Wiplane Academy. Chúng toàn diện nhưng nhỏ gọn và giúp bạn xây dựng một nền tảng công việc vững chắc để giới thiệu

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

khắc nghiệt tyagi

Tư vấn khoa học dữ liệu và web. thiết kế giảng dạy

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Python có thể được sử dụng để giao dịch không?

Python đã trở thành lựa chọn ưu tiên cho giao dịch gần đây vì Python là mã nguồn mở và tất cả các gói đều miễn phí cho mục đích thương mại. Python đã đạt được sức hút trong cộng đồng tài chính lượng tử. Python giúp dễ dàng xây dựng các mô hình thống kê phức tạp một cách dễ dàng do có đủ thư viện khoa học.

Chiến lược giao dịch có lợi nhất là gì?

Các chiến lược theo xu hướng , tất nhiên, khi được thực hiện đúng cách, là các chiến lược giao dịch an toàn nhất và được cho là có lợi nhất hiện có. Chúng hoạt động tốt nhất khi được sử dụng trong thời gian dài, vì các xu hướng sẽ mất hàng tuần và hàng tháng để phát triển và có khả năng tồn tại trong nhiều năm hoặc thậm chí nhiều thập kỷ.

Python có đủ nhanh để giao dịch thuật toán không?

Các ngôn ngữ được nhập tĩnh [xem bên dưới] như C++/Java thường tối ưu để thực thi nhưng có sự đánh đổi về thời gian phát triển, thử nghiệm và dễ bảo trì. Các ngôn ngữ được nhập động, chẳng hạn như Python và Perl hiện nay thường "đủ nhanh"

Chiến lược giao dịch 1% là gì?

Phương pháp giao dịch 1% là một cách rất phổ biến để bảo vệ khoản đầu tư của bạn trước những tổn thất lớn. Đó là phương thức giao dịch mà nhà giao dịch không bao giờ chịu rủi ro quá 1% vốn đầu tư của mình . Động cơ chính đằng sau quy tắc này là về mặt bảo vệ – bạn không mạo hiểm bất cứ điều gì khác ngoài những gì có sẵn.

Chủ Đề