Bài viết chuyên sâu

Áp dụng tính toán máy học, học sâu - Phân tích đầu tư giấy tờ có giá - P1

Áp dụng tính toán máy học, học sâu - Phân tích đầu tư giấy tờ có giá - P1

by Admin Dathoc -
Number of replies: 0

#koolj_dataengineering

#da

#stockanalysis

#fxanalysis

[🎯Áp dụng tính toán máy học, học sâu - Phân tích đầu tư giấy tờ có giá🎯]

Dưới đây mình định sẽ làm series bài viết về Áp dụng tính toán máy học, học sâu - Phân tích đầu tư giấy tờ có giá

(các giấy tờ có giá: cổ, chứng, quyền chọn, hợp đồng tương lai, tỷ giá tiền thật, tỷ giá tiền ảo...)

.

.

LƯU Ý các độc giả truớc khi đọc:

Vì là bài viết về phân tích dữ liệu, áp dụng tính toán máy học học sâu cho một chuyên ngành đầu tư....nên sẽ LƯU Ý các độc giả, fans trước khi đọc series bài viết, về:

- Không kêu gọi các bạn sử dụng hay áp dụng vào thực tế để ...chắc thắng ăn lời từ thị trường thật.

- Không cổ suý cho đầu tư biến tướng, a zua theo thị trường, hay xu thế Bò Gấu trên đầu tư chứng khoán.

- Không mang tính chất quảng cáo một nhãn hiệu nào cả.

- Đơn thuần là chia sẻ kinh nghiệm (bản thân - được học làm broker từ năm 2000 tại số 1 Tràng Tiền), kèm một số kiến thức về Áp dụng tính toán máy học, học sâu cho đầu tư giấy tờ có giá

- Thực tế anh viết bài đã áp dụng chưa, mua bán lỗ lãi chưa: 2000-2013 Rồi, nhưng là kỹ thuật, giờ 2017-2020 theo RL AI thì: Chưa, vì nhìn xung quanh đứa nào chơi cũng lỗ.
.
.
PHÙ HỢP đối tượng độc giả:

- Bạn đã biết khái niệm cơ bản đầu tư chứng khoán

- Bạn đã biết một số chiến lược phân tích kỹ thuật đầu tư chứng khoán

- Bạn đã biết python, keras, Google colab để áp dụng
.
.
THU NHẬN sau khi đọc series các bài:

- Có được kiến thức khái niệm cơ bản (tham khảo)

- Có được mẫu, mã nguồn để bạn có thể tập dượt cho Gói/Danh mục đầu tư của bạn

- Bạn có thể chạy mô hình ngay và luôn để giả định: bạn sẽ được mô hình trả lời là....mua, bán, giữ - sẽ lời/lỗ bao nhiêu khi TEST đưa các mức giá cao thấp, độ hoa hồng....vào mô hình.

.

.

.

SERIES gồm:

🎯1. Phần 1 - Các khái niệm Áp dụng tính toán máy học, học sâu cho đầu tư giấy tờ có giá. Áp dụng SL-Quant cho tạo mô hình tính toán lợi thu về sau khi đầu tư Euro và Dô la năm 2018. So sánh với các phương pháp khác.

🎯2. Phần 2 - Áp dụng supervised logistic regression cho ranking cổ phiếu Google và Apple

🎯3. Phần 3 - Áp dụng unsupervised, xem xét ngày-tương-tự, lọc cluster macd, rsi, Ichimoku

🎯4. Phần 4 - Áp dụng reinforcement đơn thuần/ phức tạp tính lợi thu về khi tính toán lại lịch sử

🎯5. Phần 5 - Áp dụng reinforcement- tensortrade cho tự động giao dịch

.

.

.

------------------------------------

[Phần 1 Các khái niệm, áp dụng SL-Quant cho Êu rô và Đô la]

👉0. Vì sao có kiểu/style này trong đầu tư chứng cổ?

Nếu không áp dụng style (máy học học sâu cho đầu tư chứng cổ) bạn có hàng tá những cách để biết mình nên chui đầu vào rỏ hàng chứng cổ gì để đỡ bị vỡ, cụ thể:

- Phân tích cơ bản: bạn cần tính toán xem xét về hồi vốn, lợi thế kinh doanh, chuyển đổi nhân dự, thời tiết... khí sắc, bệnh trạng của ông chủ tổ chức đó để.. đầu tư vào tổ chức mong lợi nhuận cao hơn. Rồi đầu tư để có lãi theo kiểu: nếu thấy u ám, bán ngay, thấy cty có lãi, mua vào.

- Phân tích kỹ thuật: bạn cần lịch sử giá, khối lượng mua bán, chỉ số hoa hồng để tính toán luỹ kế, hoặc tinh tiến theo nhiều cách để nhận ra dấu hiệu lên xuống đồng thời của giá... để mong rằng giá cũng sẽ lên tiếp hoặc xuống tiếp. Rồi đầu tư để có lãi theo kiểu: nhìn các đường khác kèm đường giá, thấy các điểm phù hợp và ra lệnh mua/bán. Sau đó đợi lượt tiếp theo sẽ thấy ngay lỗi hay lãi.

- Phân tích học tăng cường - RL: bạn tính toán các xác suất mua/bán/giữ trong các thời điểm giá lịch sử, kèm chỉ số hoa hồng để ...đưa ra lợi nhuận ngay tại thời điểm tính đó. Gộp các lợi nhuận trong các lần tính, xác suất lựa chọn lợi cao nhất trong các lần. Gộp lại, để mong có một lợi nhuận cao nhất trong thời điểm hiện tại. Rồi đầu tư hy vọng nó xử lý tự mua tự bán ....để có lãi như nó làm trong mô hình

Như vậy máy học, học sâu về HOC TĂNG CƯỜNG trong đầu tư chứng cổ:
LỢI
- Tự tính ra cho bạn một series những lần mua bán và lời lãi trong lịch sử. Theo nó là nên mua bán như thế sẽ lời ra sao.
- Tự nó quyết định mua/bán/giữ khi có giá mới, và với lợi nhuận mà nó cho là có lợi.
- Bạn có thể tự đê mô hình tự mua tự bán, bạn yên tâm là quyết định của nó là có lợi nhất

HẠI/ NHƯỢC:
- Có thể không chính xác max lãi, min lỗ khi thực tế. Vì với những data lịch sử nó chỉ hiểu và gộp xác suất từ lịch sử. Nếu giá mới vuợt quá mong đợi thì cần điều chỉnh các chỉ số, tạo lại mô hình để phù hợp
- Không dự báo được mai, kia giá tương lai sẽ thế nào. Khác với kỹ thuật phỏng đoán dự báo.
- Nên cuối ngày chạy lại mô hình để tránh biến dị. Mỗi lần chạy 2000 epoch (có lẽ mất khoảng 4-8 giờ cho 1k data - với cấu hình share pc free Colab của Google)

Như vậy kết luận là: Bạn tự do nhé, bạn nên chọn cái nào có lợi và lợi thế với bạn.. hãng đầu tư.

.

.

.

👉1. Khái niệm: Máy học (training epoch, lstm, dense, loss, optimize...) khác Kỹ thuật, Cơ bản trong Phân tích Chứng Cổ. Dùng máy học phân tích chứng cổ forex, có giám sát (supervised), khi nào, lợi thế?
Vậy với Phân tích Cơ bản: là gián tiếp chúng ta có những thông tin: Báo cáo kinh doanh, thời tiết.... tác động và chuẩn bị ra quyết định đầu tư
Phân tích kỹ thuật: là trực tiếp chúng ta có thông tin: là chỉ số giá, khối lượng ... và dựa trên những kỹ thuật thống kê chúng ta ước tính gía mong đợi cũng như xu thế giá trong tương lai
Phân tích máy học: phải một hồi tính toán lâu, trên các tập giá lịch sử. Tính lãi khi mua/bán/giữ.. tổ hợp lại để có lợi nhất trong lịch sử. Và sẽ ra cho bạn một mô hình (1file). Bạn load lên, và đợi khi có giá mới, file đó theo đó sẽ tự mua tự bán với giá mới được nạp. Hoặc bạn giả lập có giá mới, nó sẽ bảo bạn: Nên mua hay Nên bán hay Nên giữ ngay lúc đó.

Khi nào supervised: tức là khi các bạn có đủ thông số về giá, khối, loại, time.... và sẽ apply thuật toán linear/logistic regression... để đạt mức tin cậy (accu) cao nhất + mức coeff cao nhất (dần tới 1 với logistic, vô cực với linear) khi 1 yếu tố phụ thuộc nhiều yéu tố còn lại. Vậy nếu là giá mở có xu thế cùng lên hoặc cùng xuống, và accu >0.9 với các giá còn lại thì đó là... tin cậy.

👉 2. Khái niệm: Dùng máy học phân tích chứng cổ forex, không giám sát (unsupervised), khi nào, lợi thế?
Khi nào unsupervised: tức là khi các bạn có đủ thông số về giá, khối, loại, time.... và sẽ apply cluster các phép tính để xem cái nào max tin cậy nhất. Vì mình ko rõ cái nào phù hợp: list các phép tính để check có thể là: ichimoku, rsi, stochastic, macd, bollinger band, william's r, cci, parabolic sar

👉 3. Khái niệm: Dùng máy học phân tích chứng cổ forex, học tăng cường (reinforcement - RL), khi nào, lợi thế? TensorTrade, cái nhìn hoàn mỹ?
Khi nào học tăng cường - reinforcement: tức là khi các bạn có đủ thông số về giá, khối, loại, time.... và máy sẽ tự mua/bán/giữ trong lịch sử để nó ra quyết định mua/bán/giữ khi có giá mới với tư thế lời cao nhất.

TensorTrade: https://www.tensortrade.org/en/latest/index.html, là một trong hàng ngàn cơ chế áp dụng mô hình học tăng cường, và loạt các logic tích hợp cho việc: tạo một thị trường giao dịch với, tạo một chu trình các cơ cấu giá, phân tích xác suất. Tích hợp riêng biệt các mã giấy tờ có giá. Bổ sung nhiều tiện ích cho áp dụng xử lý mua bán ngay. Tích hợp api các mã chứng khoá trên nhiều thị trường khác nhau

Các khái niệm hay va chạm khi làm học tăng cường trong đầu tư chứng cổ:
- Tại sao Keras: model.Sequential(), vì nó là api của Tensorflow, và cách dễ nhất để bạn dùng python cho vào một mô hình và sử dụng lstm, cùng loss, cùng optimize
- Tại sao epoch: là quá trình mô hình sẽ đi một loạt hết các data của bạn để xem cái nào phù hợp nhất với 1 lần tính toán. Vậy nếu epoch 1 lần sẽ ra xác suất tương tự, hay các phép tính két quả không cao. Epoch 2 lần, 3 lần...50 lần.. cũng chưa cao. Thông thường cần 100-200 lần.
- Tại sao lstm: bước cải tiến của rnn để giảm thông tin ko có ích, chỉ lưu có ích, khi tính toán lớn lại 1 vòng epoch. Nếu ko rnn sẽ làm quá tải, dẫn tới sai lệch tính toán tốc độ thay đổi trong phép tính giá trị nhiều nhất/bé nhất, trong mô hình dự đoán sau này. VD
RNN: sẽ ko có hoặc liên quan thấp giữa "cook" và "cooking"
LSTM: sẽ giúp việc này có liên quan, hoặc liên quan cao
- Tại sao dense: thêm các layer ẩn để tăng độ xác thực. Kiểu như làm film 10-15 khung hình/giây, tăng thế nào đó thành 60 hình/giây để kết quả chính xác cao
- Tại sao lost: loss function hình thức điều chỉnh khi có mức sai sót trong mô hình (https://khanh-personal.gitbook.io/ml-b…/chapter1/ham-mat-mat)
- Tại sao hyperparams: thông số ngoài dữ liệu: learning rate, sigma, k...
- Tại sao optimizer: áp dụng các thuật toán tối ưu khi dùng lstm (adam, sgd, nesterov... xem https://techblog.vn/thuat-toan-toi-uu-adam)
- Tại sao epsilon: chỉ số can thiệp vào tính toán để luôn >0 và <1

.

.

.

👉4. Khái niệm: Một pipeline để ra mô hình và dự đoán giá là gì?
- Lấy data từ exchange (csv) hoặc load trực tiếp qua api, dùng python Quandl để lấy tự động từ môt source data... lưu vào pandas
- Chuyển data sang python pickle (convert từ python object sang char stream... một dạng data dễ cho việc xử lý trong các hàm khác của python)
- Dùng iloc để phân định 1 tập test 1 tập train, thường test/train=30/70. Mục tiêu để validate mô hình
- Tạo trạng thái ban đầu: mục tiêu là tạo ra được trạng thái S1 gồm: ma trận các yếu tố của giá cần tính theo (mở, đóng, cao thấp)
+ SMA15,30
+ RSI
+ ATR
- Tạo thuật toán/áp dụng thuật toán (keras model sequential) trên từng epoch, cụ thể - với học tăng cường
+ Định ra một trạng thái S1 với (mua/bán/giữ) theo tính toán đã chọn
+ Định tiếp trạng thái S2 sau S1
+ Định ra một hành động A, khi ở S1
+ Định ra logic tính xác suất Q tính ra tỷ lệ thu lời hoa hồng khi A ở S2. Q chính là thuật học tăng cường
+ Lưu lại hoa hồng R khi A thực thi ở S2
+ Loop mỗi epoch
- Viết hàm tạo hành động A
- Viết hàm lấy thưởng hoa hồng dự kiến R
- Viết hàm đánh giá model Q
- Viết backtest bổ sung check với A đưa ra tín hiệu, tạo data chuẩn
- Lưu model
- Vẽ qua matplot view trực quan hướng giá lịch sử và từng lần model giao dịch
- Load model và apply test mức giá để thu về hoa hồng tương ứng
- Áp dụng thêm logic tự xử lý mua bán với mô hình được load
(tham khảo: https://github.com/danielzak/sl-quant/blob/master/ex3-self_learning_quant.py)

- Về các quá trình trên, tensortrade hay cả ngàn tool khác: backtrader, btgym... đã có các công đoạn này
(tham khảo: https://www.tensortrade.org/en/latest/examples/train_and_evaluate.html)

👉5. Khái niệm: Lưu ý khi dùng máy tính, thư viện chung riêng, các setup nếu dùng trên pc cá nhân, trên Google cloud?
- Hoàn toàn có thể dùng Google Colab để tính toán (ví dụ ảnh đính kèm tôi xử lý 50-200 epoch để train và tính
- Colab châm và nên tạo một tính toán qua Notebook Jupyter trên máy ảo hoặc chính máy cá nhân, manually có thể đọc: https://docs.google.com/document/d/1eklHpEg6Kez7SCxX2ck56Q23yo68qOaNHQfe2-nzVcc/edit?usp=sharing
- Các thư viện chung thì dể cài. Một số thư viện: talib, Quandl hơi khó cài, cần xem xét đúng version

👉6. Thực hành: Áp dụng SL-Quant EU/DL: Load lịch sử giao dịch, upload qua csv, Google colab, chuyển sang pickle, tạo state ban đầu, áp dụng logic thưởng, logic tính xác suất lợi nhất theo RL

Step by step theo: https://colab.research.google.com/drive/1ifW0oiUF1IOSsWnLwn-bGwnD942rMc53#scrollTo=BqgbdejPa4iv

.

.

.

👉7. Thực hành: Áp dụng SL-Quant EU/DL: lstm keras với loss nào, optimize thì có lợi gì?, tại sao chạy 10-50 epoches khác kết quả với 200 epoches?
- Áp dụng keras mô hình với 64 nơ ron kèm 2 layer lstm
- Lựa chọn loss: như bài này phân tích: khi nào dùng regression, khi nào dùng probabilistic, khi nào higne... xem https://khanh-personal.gitbook.io/ml-book-vn/chapter1/ham-mat-mat
- Lựa chọn opimizer phù hợp: đã có bài phân tích rất rõ khi nào dùng optimizer nào: https://techblog.vn/thuat-toan-toi-uu-adam?fbclid=IwAR1wqmH497GmsvgT4iXdjbjQ3h45643bPcrnLPWVly48R-vvqEA4eNL2XgY

Step by step theo link trên.

👉8. Thực hành: Áp dụng SL-Quant EU/DL: Ra mô hình thì eval ra sao? áp dụng tiếp đầu vào mới ra sao. Load mô hình lên cloud nơi khác?
- Hàm evaluate sẽ đánh giá mô hình và loss trong hàm để xử lý nếu có sai sót
- Mô hình sẽ là 1 file đơn thuần. Nếu đưa lên Google Colab bạn cần authen qua driver của bạn. Tham khảo: https://www.facebook.com/photo.php?fbid=10157098715530079&set=a.113964400078&type=3&theater

Step by step theo link trên.
.

.

.

👉9. Thực hành: Bổ sung các layer thuộc Cơ bản: layer xác suất lỗ kinh doanh, layer dự báo chuyển đổi nhân sự, layer dự báo thời tiết... vào pipleline giá?
- Tạo dense các layer tương ứng. Số lượng phù hợp với số trong ma trận bạn đang đưa vào.
- Tự tạo các class mới để thêm xác suất các yếu tố theo Phân tích cơ bản
Step by step theo link trên.

👉10. Kết luận: Chơi hay Thôi?
- Chứng khoán, các giấy tờ có giá cũng chỉ là một hướng đầu tư. Và luôn có những chiến lược lui/tiến. Bạn cần áp dụng chiến lược hợp lý để có những đầu tư bước đi phù hợp.
- Nên tránh hùa theo đám đông. Nên đi theo lâu dài về giá trị thực của doanh nghiệp tổ chức để có bước đi chắc chắn dài hạn
- Đổi lại cũng như môt canh bạc tiền tỷ, bạn có thể mất tất cả khi đánh liều cả gia sản. Còn nếu được thì bạn sẽ mất kiểm soát vì quá nhiều tiền lẫn mối quan tâm. Số người được là bao nhiêu khi TTCK thứ cấp cũng chỉ là tiền của ng khác đưa sang cho bạn. Như vậy số mất sẽ phải mất nhiều để 1-2 người được.

------------------------------------

Nhờ các chuyên gia, các fans khác góp ý để bài viết lẫn kiến thức trong bài chuẩn hơn, tốt hơn, dễ hiểu hơn.

Thank you all!

------------------------------------

Để học LIVESTREAM dài hạn 1 tháng, 2 tháng, 3 tháng... mời fans qua: dathoc.net/cms

Để học ngắn hạn và thực hành LIVESTREAM: 1 thầy 7 trò 5 buổi, mời fans qua: dathoc.net/botreg

Nên....đứng vào nơi có data chảy qua!