DỰ ÁN 02: TẠO
CURRENCY INDEX VỚI PYTHON VÀ FXCM API
I.
4 ý tưởng chính để vẽ Currency index (CI)
Trong thị trường tiền
tệ, chúng ra chỉ có tỷ giá và biến động tương đối giữa các
cặp/đồng tiền với nhau chứ không có giá trị tuyệt đối, vì vậy sẽ
chả phải tuyệt sao khi có một đồng tiền nào đó có giá trị nội tại
chẳng bao giờ biến động để các đồng tiền khác có thể lấy đó làm
căn cứ mà đo lường biến động của giá trị? Rất tiếc là chẳng
có đồng tiền nào như vậy cả, và theo quan điểm của tôi nếu được
chọn trong các đồng tiền phổ biến thì CHF sẽ là đồng ít có sự
biến động nhất về giá trị. Vì vậy chúng ta chỉ đơn giản là xem cặp
tỷ giá XXX/CHF để quan sát biến động giá trị của đồng XXX thôi là
xong, nhỉ ? nhỉ ?. Nếu như vậy thì bài viết này có thể kết thúc
tại đây là được rồi 😋. Nhưng đời không đơn
giản như vậy, hoặc tôi là con người thích phức tạp hóa vấn đề, vì
vậy tôi đã suy nghĩ ra 4 cách để vẽ CI của các đồng tiền khác nhau dựa vào giá trị tương đối của
các cặp tiền như sau:
·
Phương pháp 1 (Trọng số bằng nhau):
Đây là phương pháp thường
thấy trong các indicator currency index khác với cách tính tương tự như
sau:
· Phương pháp 2 (Trị tuyệt đối tổng biến động của đồng tiền
phía sau nhỏ nhất):
Phương pháp này sẽ lũy
kế biến động của index đồng XXX tại thời điểm t so với t - 1
là biến động của giá của cặp XXX/YYY tại thời điểm t so với t-1
với YYY được chọn khác tại mỗi thời điểm sao cho trị tuyệt đối của
tổng của tất cả các %ΔYYY/ZZZt, t-1 (với ZZZ lần lượt là
các đồng tiền dùng để tính index)
Mình
quá lười để mô tả ra bằng công thức cho các bạn dễ hiểu nên các bạn
hãy xem file đính kèm tại link này để hiểu rõ ý tưởng hơn nhé.
· \Phương pháp 3 (Tổng biến động của trị tuyệt đối đồng tiền
phía sau nhỏ nhất):
Tương tự cách trên nhưng
thay vì dùng trị tuyệt đối của tổng biến động ta sẽ dùng tổng các
trị tuyệt đối của biến động để chọn cặp tiền phía sau tương ứng với
mỗi thời điểm.
· Phương pháp 4 (Tổng biến động bình phương của trị tuyệt đối
đồng tiền phía sau nhỏ nhất):
Tương tự cách trên nhưng
thay vì tính tổng các trị tuyệt đối của biến động thì ta dùng tổng
của các bình phương để chọn cặp tiền phía sau tương ứng với mỗi thời
điểm. (theo quan sát thì kết quả của cách này giống với cách 2 mà tôi
méo đủ thông minh để chứng minh được vì sao, nếu ai chứng minh được thì
chỉ cho mình nhé 😉)
II.
Phần code
Ngoài các package thường
được cài sẵn từ gói cài anacoda (như numpy, pandas …..) thì các bạn cần
cài thêm thư viện socketio và fxcmpy bằng cú pháp sau trên cửa sổ commands:
pip install
python-socketio==4.6.1
pip install fxcmpy
Các bạn chỉ chỉ cần khởi tạo class là đồ thị sẽ tự được vẽ, xin hãy đọc kỹ hướng dẫn trước khi dùng !!!
File gốc các bạn có thể tải tại đây
Một vài hình ảnh về kết quả:
- Cách 2:
III.
Vậy dùng để trade như thế nào ?
Với quan niệm khởi nguồn rằng NHTW hay gì gì đó sẽ cố gắng tác động để đưa giá trị đồng tiền của mình quay trở lại một ngưỡng "ổn định" nào đó trước những tác động quá mức gây mất cân bằng tạm thời của đồng tiền đó (Bigboy huntstops, Barrier option, cung cầu tạm thời tăng đột biến ... có quá nhiều lý do mà tôi xin phép được từ chối hiểu). Nếu điều này xảy ra thì đướng CI sẽ có tính chất MEAN REVERSION rất cao, vì vậy các bạn chỉ việc chọn cặp tiền có 2 đồng một đồng quá mua và một quá bán để trade (long cặp quá bán/quá mua, short cặp quá mua/quá bán). Việc xác định đồng nào quá mua hay quá bán đơn giản nhất là các bạn có thể vẽ đường RSI hoặc BBand dựa trên giá trị của đường CI. Sẽ có rủi ro trong trường hợp đồng tiền đó có real trend, khi điều đó xảy ra thì cắt lỗ hay giữ tiếp phụ thuộc vào lời thì thầm từ tổ tiên của các bạn 😁



0 nhận xét: