Chiến lược giao dịch định lượng để thực hiện phân tích động lực giá bằng Python

Tác giả:Tốt, Tạo: 2019-08-09 15:49:06, Cập nhật: 2023-10-20 20:13:38

img

Thông tin chi tiết về chiến lược giao dịch động lực giá

Chiến lược giao dịch động lực phân tích sự tương phản của lực lượng đa không gian bằng cách phân tích mối quan hệ giữa giá mở cửa, giá cao nhất và giá thấp nhất trong một khoảng thời gian nhất định, gián tiếp hiểu được sự phân bố lực lượng của cả hai bên trong thị trường hiện tại. Phân tích biến động giá để theo dõi xu hướng giá trong tương lai.

Phân tích động lượng giá có rất nhiều ứng dụng trong danh sách thủ công truyền thống, đặc biệt là để xác định xu hướng đơn phương trong ngày, những người già thường nói về chủ đề, những gì là xu hướng và vì sao, cho xu hướng tốt nhất định lượng là sự tương phản của các lực lượng giữa hai bên, phân tích động lượng giá là một trong những chỉ số tốt nhất.

Bài viết này sẽ sử dụng chiến lược này để phát triển một chương trình giao dịch tự động tiền kỹ thuật số tại chỗ trên Token.

Công thức tính toán động lực giá

AR = [N của tất cả các ngày (High-Open) và / N của tất cả các ngày (Open-Low) ] * 100

Trong số đó có:

  • N: Cửa sổ thống kê chu kỳ thời gian trong ngày, mặc định là 30 ngày, vì một tháng có khoảng 30 ngày giao dịch hiệu quả ((tiền kỹ thuật số giao dịch 24/7, có thể con số này hơi bảo thủ)

  • High: Giá cao nhất trong một ngày

  • Mở: Giá mở trong một ngày

  • Low: Giá thấp nhất trong một ngày

Cách sử dụng động lực giá

Sự chuyển động của giá trong một khoảng thời gian phản ứng với giá mở cửa ở vị trí giữa giá cao nhất và giá thấp nhất, vị trí này là cơ sở để chúng ta đánh giá sức kéo của cả hai bên.

  • Giả sử giá trị này là khoảng 100, trên 100, lực đa đầu bắt đầu tăng, dưới 100, lực không đầu bắt đầu tập trung.
  • Giá AR tăng cao cho thấy thị trường hoạt động, phổ biến, nhiều người đứng đầu, nhưng cao hơn là báo hiệu giá vào khu vực mua quá mức, nên chọn thời điểm ổn định. Không có tiêu chuẩn cụ thể về giá trị AR cao, trong trường hợp chung, giá AR tăng lên khoảng 120, giá có thể sẽ giảm xuống.
  • Giá AR thấp hơn có thể cho thấy giá đã rơi vào vùng bán tháo, nên bạn có thể xem xét nhiều máy chủ. Thông thường, khi giá AR giảm xuống dưới 50, giá sẽ ngừng giảm bất cứ lúc nào.

Lưu ý: Tất cả các con số trên đều là các giá trị mặc định, không phải là xác định sự thật. Trong quá trình giao dịch thực tế, chúng ta phải điều chỉnh khoảng cách này theo sự thay đổi của thị trường để phù hợp với tình trạng thị trường.

Chiến lược giao dịch định lượng động lực giá bằng Python

Các bạn có thể tham khảo thông tin của chúng tôi.FMZ.COM, đăng nhập tài khoản, nhấp vào Control Center, triển khai quản trị viên và robot.

Để biết cách triển khai người quản lý và robot, hãy tham khảo bài viết trước của tôi:https://www.fmz.com/bbs-topic/4140

Người đọc muốn mua một nhà quản lý triển khai máy chủ điện toán đám mây của riêng họ có thể tham khảo bài viết này:https://www.fmz.com/bbs-topic/2848

Sau đó, chúng ta nhấp vào thư viện chính sách ở menu bên trái và nhấp vào tạo chính sách.

Trong góc trên bên phải của trang viết chính sách, hãy nhớ chọn ngôn ngữ lập trình là Python, như sau:

img

Tiếp theo, chúng tôi viết mã Python vào trang chỉnh sửa mã, mã dưới đây, có chú thích từng dòng rất chi tiết, người đọc có thể dần dần hiểu và nhận ra, quan trọng hơn, mặc dù chiến lược này được viết dựa trên giao dịch giao dịch, nhưng các khía cạnh mở rộng của mã sau cũng được xem xét giao dịch tương lai, người đọc quan tâm có thể thử viết lại mã sau để giao dịch tương lai, chính logic của chiến lược là phổ biến.

Chúng tôi đã bắt đầu thực hiện chiến lược này bằng cách sử dụng token Bitcoin hiện tại trên TokenNet:

import types # 导入Types模块库,这是为了应对代码中将要用到的各种数据类型
def main(): # 主函数,策略逻辑从这里开始
    IDLE = 0 # 用来标记持仓状态,可以理解为0即为空闲状态,也就是空仓状态
    LONG = 1 # 多头持仓
    SHORT = 2 # 空头持仓,注意,此策略应用于现货市场,所以不存在空头开仓或者持仓情况,这里这样写,是为了方便理解策略和以后的扩展(如扩展到期货市场)
    state = IDLE # 标记持仓状态的变量
    while True: # 进入循环
        r = exchange.GetRecords() #GetRecords是发明者量化平台的官方API,详细用法请参见:https://www.fmz.com/api
        if len(r) <= 1: # 判断K线是否大于一根,也就是当前是否为开盘状态,否则可能会进入死循环,这里也方便读者进行扩展,大一些的K线周期趋势状态更稳定。
           Log("bar的数量不足, 等待下一根bar...") # 输出日志
           continue # Python循环控制语句,继续下边的循环内容

        # 开始进行价格动量的量化分析
        ar = sum(r.High - r.Open) / sum(r.Open - r.Low) * 100 # 计算公式

        account = _C(exchange.GetAccount) # 获取账户信息,_C同样为发明者量化平台的官方API,用法请参见:https://www.fmz.com/api

        if ar < 95 and (state == IDLE or state == SHORT) :  # AR值小于超卖线且账户拥有资金,则全仓买入
           
           if account["Balance"] > 50:
                exchange.Buy(-1, account["Balance"] * 0.9) # 市价单全仓买入
                state = LONG # 改变持仓状态为LONG
                  
        elif ar > 80 and (state == IDLE or state == LONG):  # AR值大于超买线且账户有持仓,则全仓卖出
            
           if account["Stocks"] > 0.01:
                exchange.Sell(-1, account["Stocks"] * 0.9) # 市价单全仓卖出
                state = SHORT # 改变持仓状态为SHORT
                      
        LogStatus(_D(), exchange.GetAccount() , state) # 更新日志信息

Chiến lược kiểm tra lại

Sau khi viết chiến lược, điều đầu tiên chúng ta phải làm là xem nó hoạt động như thế nào trong dữ liệu lịch sử, nhưng xin lưu ý cho độc giả rằng kết quả của việc xem lại không đồng nghĩa với việc dự đoán về tương lai, xem lại chỉ là một thông tin tham khảo để xem xét hiệu quả của chiến lược của chúng ta. Một khi thị trường thay đổi và chiến lược bắt đầu có lỗ lớn, chúng ta nên phát hiện vấn đề kịp thời và sau đó thay đổi chiến lược để phù hợp với môi trường thị trường mới, chẳng hạn như ngưỡng nói trên.

Nhấp vào các chính sách chỉnh sửa trong trang sửa đổi, trong trang chỉnh sửa, các tham số có thể được điều chỉnh theo nhu cầu khác nhau, để điều chỉnh dễ dàng và nhanh chóng, đặc biệt là đối với các chính sách logic phức tạp, nhiều tham số, không cần phải quay lại mã nguồn, thay đổi từng lần.

Chúng tôi chọn tháng gần đây, nhấp vào thêm giao dịch hiện tại, BTC giao dịch.

img

Xem kết quả xét nghiệm

img

Như bạn có thể thấy, chiến lược này đã hoạt động tốt trong bài kiểm tra hồi tháng này.

Những ưu điểm và nhược điểm của chiến lược động lực giá

  • Những ưu điểm

So với một số chỉ số kỹ thuật truyền thống khác, lợi thế của động lực giá là nó không sử dụng giá mở hoặc đóng duy nhất, mà chỉ giới thiệu giá cao nhất và giá thấp nhất. Chúng được so sánh một cách năng động, thông qua sự biến động của giá trong ngày, giúp thông tin thị trường toàn diện hơn, phản ứng nhanh hơn và vĩ mô hơn.

  • Nhược điểm

Sử dụng giá động tự do để xác định giá có quá cao hay quá thấp, để xác định quá nhiều / quá nhiều, rất có thể sẽ giảm quá sớm trong một làn sóng xu hướng lớn hoặc giảm quá sớm trong một làn sóng thị trường lớn. Nhìn chung, chiến lược này vẫn là một chiến lược hiệu quả rung động.

Việc thiết lập ngưỡng chiến lược cũng cần phải được quyết định dựa trên đặc tính của các chỉ số giao dịch. Giá cả của thị trường tiền kỹ thuật số đều biến động khá lớn và khối lượng giao dịch rất lớn, đặc biệt là trên các loại tiền tệ chính như Bitcoin, và không có giới hạn giảm giá, vì vậy ngưỡng cao hơn so với thị trường cổ phiếu truyền thống, 80 đường bán quá, thường khó chạm vào, tạo ra ít tín hiệu mua hơn; còn đường mua quá 170 thường nằm dưới ngưỡng, nhưng tín hiệu bán được kích hoạt thường xuyên. Điều này sẽ khiến chiến lược hoạt động trong tình trạng bán trống hầu hết thời gian và tỷ lệ sử dụng vốn trở nên thấp.

Do đó, thị trường này không bao giờ có chiến lược giao dịch thánh, có thể không cần thử nghiệm, không cần điều chỉnh, chiến lược kiếm tiền mãi mãi. Chúng tôi định lượng các nhà giao dịch và các nhà giao dịch chủ quan, cuối cùng đều có cùng một con đường, cần phải phù hợp với sự thay đổi của thị trường, thích nghi với địa điểm, thay đổi theo mọi thứ, khi gặp chiến lược không hiệu quả, cần phải điều chỉnh kịp thời.

Bạn bè có vấn đề có thể đếnhttps://www.fmz.com/bbsNhững lời nhắn tin, bất kể là về chiến lược hay công nghệ của nền tảng, các nhà phát minh định lượng nền tảng có nhân viên chuyên nghiệp luôn sẵn sàng trả lời cho bạn.


Có liên quan

Thêm nữa

MAIKEORất nhiều lợi ích, cảm ơn!