Chiến lược đính kèm tuyến tính dựa trên tính năng phát triển dữ liệu

Tác giả: , Tạo: 2019-12-13 17:13:07, Cập nhật: 2023-10-17 21:21:36

img

Lời mở đầu

Người ta thường nói rằng giao dịch là một nghệ thuật, và nghệ thuật là nguồn cảm hứng. Vì vậy, hôm nay tôi muốn chia sẻ với bạn cách sử dụng các nhà phát minh để định lượng khả năng hiển thị dữ liệu và tìm thấy cảm hứng giao dịch của riêng bạn.

Lời cảm hứng và cảm giác giao dịch

Thông thường, chúng ta nói về sự truyền cảm hứng khi nói đến những người phát triển một trạng thái sáng tạo ngay lập tức trong quá trình suy nghĩ. Đối với các nhà giao dịch, nửa trái của bộ não của chúng ta hoàn thành việc xây dựng một loạt các quy tắc như viết chiến lược, phân bổ vốn, thiết lập các tham số.

Rất nhiều người đã nghe nói về cảm giác ngập mờ, một cảm giác không rõ ràng, giống như những gì đang xảy ra trong thời gian hiện tại. Trong giao dịch, trực giác tương tự như giác quan thứ sáu này, mặc dù không có lý luận và phân tích hợp lý, nhưng dự đoán về xu hướng tương lai của thị trường, sẽ thúc đẩy các nhà giao dịch đưa ra quyết định mua hoặc bán.

Làm thế nào để lấy cảm hứng

Trong mắt người ngoài, cảm giác giao dịch là một thứ lạ lẫm, một tài năng bí ẩn, có thể được xây dựng trên thị trường. Trong thực tế, cảm giác giao dịch là một kết luận của não về kinh nghiệm giao dịch chủ quan, là một cảm giác tiên đoán kỳ lạ, được nhận thức qua nhiều năm xem.

Mặc dù theo cách nghiêm ngặt, cảm hứng không hoàn toàn giống như cảm giác, nhưng tôi tin rằng mọi người đã luyện tập thị trường hàng ngàn lần, có kiến thức sâu sắc hơn về thị trường, sẽ có thể tự tay trong việc phát triển chiến lược. Vì vậy, nếu muốn có được tài năng này, nếu muốn phát triển nhiều chiến lược giao dịch hơn, không ai khác, chỉ có tay nghề. Chỉ bằng cách giao dịch nhiều, bạn có thể hoàn thiện hệ thống giao dịch của mình.

Tuy nhiên, chỉ có một vài giờ giao dịch trong ngày cho các giao dịch tương lai hàng hóa và cổ phiếu trong nước, và nếu chỉ nâng cao kinh nghiệm của mình từ giao dịch thực tế, hình thành các mô hình và quy tắc giao dịch lợi nhuận của riêng mình và đào tạo phản xạ điều kiện của mình trong tiềm thức, thì sẽ rất khó khăn. Ngoài chi phí thời gian dài hơn, hầu hết các nhà giao dịch phải chịu chi phí mất vốn. Để giải quyết vấn đề này, các nhà phát minh đã phát triển tính năng quay lại dữ liệu theo định lượng.

Làm thế nào để sử dụng dữ liệu

Tính năng quay lại dữ liệu có thể được đào tạo mà không bị giới hạn thời gian giao dịch trên sàn giao dịch, hỗ trợ nhiều loại tương lai hàng hóa và tiền kỹ thuật số, thị trường có thể quay lại theo cách thủ công hoặc tự động, cũng có thể tự do đặt thời gian bắt đầu và tốc độ quay lại thị trường lịch sử.

Những người phát triển thông minh đã định lượng trang web của mình.fmz.comBạn có thể đăng ký và đăng nhập, sau đó nhấp vào Khám dữ liệu của Control Center để hiển thị trang tính năng phát dữ liệu. Trong đó có bốn hộp tùy chọn và một nút chọn, trước tiên nhấp vào nút chọn chỉ hiển thị các giống hỗ trợ phát đĩa thực, sau đó chọn giống để phát ở phía trên bên trái, sau đó chọn thời gian bắt đầu của dữ liệu trong hai hộp tùy chọn phía sau, sau đó chọn chu kỳ thời gian của dữ liệu để phát đĩa thực, cuối cùng nhấp vào nút Go ở bên phải để bật tính năng phát dữ liệu.

img

Bên dưới thẻ dữ liệu có ba phần. Ở bên trái là lịch sử giao dịch, nơi hiển thị tất cả các đơn đặt hàng đã được thực hiện theo thời gian. Ở giữa là dữ liệu mua bán với độ sâu 20 file. Ở bên phải là khu vực điều khiển phát dữ liệu, nơi bạn có thể chọn cách phát dữ liệu theo cách thủ công và tự động, đơn giản như sử dụng máy nghe nhạc truyền thông.

img

Chỉ mục vị trí có thể kéo các dấu hiệu về phía sau và về phía sau, cho phép nhanh chóng chọn thời gian bắt đầu hiển thị dữ liệu.

img

Ở phía dưới cùng, bạn cũng có thể điều khiển tốc độ quay dữ liệu bằng cách di chuyển từ bên phải sang bên trái, theo đơn vị thời gian là milliseconds, tăng hoặc giảm tốc khi quay dữ liệu.

img

Xây dựng chiến lược logic

Mặc dù có rất nhiều yếu tố ảnh hưởng đến giá giảm, bao gồm: môi trường kinh tế toàn cầu, chính sách vĩ mô của các quốc gia, chính sách công nghiệp liên quan, mối quan hệ cầu cung, các sự kiện quốc tế, lãi suất và tỷ giá ngoại hối, lạm phát và suy thoái, tâm lý thị trường, các yếu tố chưa biết, v.v., nhưng cuối cùng, giá trên đĩa là kết quả của cuộc cạnh tranh giữa nhiều bên và không gian. Nếu nhiều người mua hơn nhiều người bán, giá sẽ tăng; ngược lại, nếu nhiều người bán hơn nhiều người mua, giá sẽ giảm.

Bằng cách định lượng các cặp giao dịch btc_usdt của sàn giao dịch Binance trong tháng gần đây, chúng tôi thấy rằng số lượng đơn đặt hàng trên hai bên của dữ liệu Tick không tương xứng rõ ràng khi thị trường tăng và giảm. Khi thị trường tăng, số lượng đơn đặt hàng bị treo nhiều hơn số lượng đơn đặt hàng bị treo nhiều hơn; khi thị trường giảm, số lượng đơn đặt hàng bị treo nhiều hơn số lượng đơn đặt hàng bị treo nhiều hơn. Vậy liệu chúng ta có thể dự đoán sự sụt giảm giá trong thời gian ngắn dựa trên số lượng đơn đặt hàng trong các đơn đặt hàng mỏng?

Câu trả lời là có.

img img

Bằng cách thu thập dữ liệu Tick sâu, chúng ta có thể tính toán và so sánh số đơn đặt hàng trên hai bên có nhiều chỗ trống, nếu tỷ lệ xếp hạng đơn đặt hàng tổng hợp có nhiều chỗ trống là lớn, thì có thể có cơ hội mua bán tiềm năng. Ví dụ, khi số đơn đặt hàng nhiều đầu là N lần số đơn đặt hàng trống, chúng ta có thể cho rằng hầu hết mọi người trên thị trường sẽ xem nhiều hơn, tỷ lệ tăng giá trong tương lai ngắn sẽ tăng; khi số đơn đặt hàng trống là N lần số đơn đặt hàng nhiều đầu, chúng ta có thể cho rằng hầu hết mọi người trên thị trường sẽ nhìn trống, tỷ lệ giảm giá trong tương lai ngắn sẽ tăng.

Viết chiến lược giao dịch

Theo logic chiến lược trên, bắt đầu thực hiện bằng mã. Mở trang web: fmz.com > đăng nhập > Trung tâm điều khiển > thư viện chính sách > Tạo chính sách > Nhấp vào menu kéo xuống ở góc trên bên phải, chọn ngôn ngữ Python và bắt đầu viết chính sách.

Bước 1: Xây dựng một khuôn khổ chiến lược

# 策略主函数
def onTick():
    pass


# 程序入口
def main():
    while True:  # 进入无限循环模式
        onTick()  # 执行策略主函数
        Sleep(1000)  # 休眠1秒

Chúng ta nên viết chính sách bằng chữ viết lớn và chữ viết nhỏ, giống như xây dựng nhà, đặt khuôn khổ trước và đặt tường. Trong khuôn khổ này, chúng ta sử dụng hai hàm, chính là hàm chính và hàm onTick. Trong đó hàm chính là đầu vào của chương trình, nghĩa là chương trình sẽ được thực hiện từ đây, sau đó đi vào chế độ lặp vô hạn, thực hiện hàm onTick một lần nữa.

Bước 2: Viết biến toàn cầu

vol_ratio_arr = []  # 多空挂单比率数组
mp = 0  # 虚拟持仓

Lý do tôi định nghĩa vol_ratio_arr là một biến toàn cầu là vì chiến lược của tôi là thu thập tỷ lệ đính kèm nhiều không gian của một đoạn dữ liệu Tick, nếu chúng ta đưa biến vol_ratio_arr vào hàm onTick, điều đó rõ ràng là không hợp lý với việc chạy vòng lặp, chúng ta cần thay đổi giá trị của biến trong chế độ vòng lặp khi đạt được một điều kiện nhất định, cách hợp lý nhất là đưa biến này ra ngoài vòng lặp.

Quản lý nắm giữ rất cần thiết vì nó liên quan đến logic mua bán, trong trường hợp chúng ta giao dịch tại chỗ, chúng ta tính toán các cặp tiền được nắm giữ bằng cách truy cập vào tài khoản.

Bước 3: Tính tỷ lệ không gian hiện tại

depth = exchange.GetDepth()  # 获取深度数据
asks = depth['Asks']  # 获取卖价数组
bids = depth['Bids']  # 获取买价数组
asks_vol = 0  # 所有卖价挂单
bids_vol = 0  # 所有买价挂单
for index, ask in enumerate(asks):  # 遍历卖价数组
    # 线性计算所有卖价挂单
    asks_vol = asks_vol + ask['Amount'] * (20 - index)
for index, bid in enumerate(bids):  # 遍历买价数组
    # 线性计算所有买价挂单
    bids_vol = bids_vol + bid['Amount'] * (20 - index)
bidask_ratio = bids_vol / asks_vol  # 计算多空比率

Như mọi người đã biết, tiền kỹ thuật số thường là dữ liệu sâu 20 bảng, vì vậy chúng ta có thể cộng số lượng hàng đính kèm nhiều đầu và không đầu để tính tỷ lệ nhiều đầu và không đầu, khi giá trị này lớn hơn 1 cho thấy nhiều người xem hơn những người không nhìn thấy, báo trước giá sẽ tăng trong thời gian ngắn trong tương lai; khi giá trị này nhỏ hơn 1 cho thấy những người nhìn thấy nhiều hơn những người không nhìn thấy, báo trước giá sẽ giảm trong thời gian ngắn trong tương lai.

Nhưng có một điểm cần phải phân biệt, khi hàng treo gần hơn với bảng xếp hạng, thì ý định đọc nhiều hoặc ít sẽ mạnh mẽ hơn, ví dụ như thanh toán treo trên một hàng chắc chắn sẽ mạnh hơn thanh toán treo trên 20 hàng. Vì vậy, khi chúng ta chồng chất hàng treo, chúng ta cần phải theo một cách tuyến tính để cho mỗi hàng treo 20 hàng với trọng lượng khác nhau, điều này sẽ hợp lý hơn.

Bước 4: tính toán tuyến tính tỷ lệ nhiều không gian trong một khoảng thời gian

global vol_ratio_arr, mp  # 引入全局变量
vol_ratio_arr.insert(0, bidask_ratio)  # 把多空比率放到全局变量数组里面
if len(vol_ratio_arr) > 20:  # 如果数组超过指定长度
    vol_ratio_arr.pop()  # 删除最旧的元素
all_ratio = 0  # 临时变量,所有多空挂单比率
all_num = 0  # 临时变量,所有线性乘数
for index, vol_ratio in enumerate(vol_ratio_arr):  # 变量全局变量数组
    num = 20 - index  # 线性乘数
    all_num = all_num + num  # 线性乘数累加
    all_ratio = all_ratio + vol_ratio * num  # 所有多空挂单比率累加
ratio = all_ratio / all_num  # 线性多空挂单比率

Phân tích nhiều đầu và thêm hàng đính kèm bằng đầu trống có thể tạo ra tỷ lệ đa không gian, nhưng chỉ khi dữ liệu Tick, nếu chỉ sử dụng một dữ liệu Tick, quyết định mua bán giao dịch có thể không phải là một lựa chọn khôn ngoan, bởi vì trong một thị trường thay đổi nhanh chóng, một dữ liệu Tick là không thuyết phục. Vì vậy, chúng ta cần thu thập một phần dữ liệu Tick cố định và cuối cùng tính toán một số lượng công bằng bằng đường thẳng.

Bước 5: Đặt hàng

last_ask_price = asks[0]['Price']  # 最新卖一价,用于买入的价格
last_bid_price = bids[0]['Price']  # 最新买一价,用于卖出的价格
if mp == 0 and ratio > buy_threshold:  # 如果当前无持币,并且比率大于指定值
    exchange.Buy(last_ask_price, 0.01)  # 买入
    mp = 1  # 设置虚拟持仓的值
if mp == 1 and ratio < sell_threshold:  # 如果当前持币,并且比率小于指定值
    exchange.Sell(last_bid_price, 0.01)  # 卖出
    mp = 0  # 重置虚拟持仓的值

Vì cần phải chỉ định một giá khi đặt hàng, vì vậy chúng ta có thể trực tiếp sử dụng giá bán mới nhất khi mua; khi bán, chúng ta có thể trực tiếp sử dụng giá mua mới nhất.

Kết thúc

Dưới đây là phân tích mã mã chiến lược liên lưu tuyến tính dựa trên tính năng quay lại dữ liệu, nếu bạn là người mới bắt đầu giao dịch, các tính năng quay lại dữ liệu có thể học giao dịch bằng không chi phí, giảm thời gian nhận thức về giao dịch, giao dịch thực tế hoặc mô phỏng thường mất vài năm để thấy kết quả đầu tiên, và một vài tuần trong tính năng quay lại dữ liệu có thể đạt được kết quả tương tự, với điều kiện không lãng phí thời gian. Đối với các nhà giao dịch tiên tiến, quay lại động có thể giúp bạn phân tích vấn đề của mình trước đây, xác minh và hoàn thiện chiến lược giao dịch, tăng sự tự tin của các nhà giao dịch về chiến lược và có thể giúp tạo ra cảm hứng chiến lược mới.


Có liên quan

Thêm nữa

xaifer48Hiện tại, chức năng phát đĩa thực đã tắt?

Đây chỉ là một bản giới thiệu ngắn gọn về nguyên tắc, và có rất nhiều chi tiết cần phải được tối ưu hóa, và tôi đang xem xét lại những gì đã mất mát, haha.