Theo đó, tỷ lệ lãi suất của các công ty sẽ giảm.

Tác giả:Hạt đậu, Ngày: 2020-04-18 22:54:45
Tags:ATR

Tân Tân Tân Tân Tân Tân Tân Tân Dưới đây là nội dung được chuyển tiếp. Xin hãy theo dõi "Thế giới số lượng hàng ngàn" nhiều hơn nữa để có thêm mã nguồn chiến lược! Và cũng quảng cáo cho bản thân. Tạp chí công cộng "Lịch định lượng đậu nành" Đánh án công khai hàng ngày cho những người phá sản định lượng trực tuyến Có nhiều lợi ích hơn, bạn sẽ có nhiều hơn.

Đó chỉ là Demo! Demo! Dì Demo! Các bậc cha mẹ, hãy cẩn thận!


Với tỷ lệ biến động tốt, bạn có thể giành chiến thắng trong Bitcoin rất dễ dàng! Nguồn gốc: Xuân Oyan Oyan Thế giới số hóa hàng ngàn ngày trước Trong thực tế, nghiên cứu và phát triển chiến lược định lượng là một hai mặt, rất khó khăn cho những người mới bắt đầu, khó khăn không chỉ là mã hóa ở cấp độ thuật toán thuật toán, khó khăn cũng như suy nghĩ logic chiến lược ở cấp độ thuật toán. Cả hai đều quan trọng và không nên thiên vị.

Xin chào bạn bè của tôi, các bạn hàng ngàn người có tính định lượng!

Bài viết này là phiên bản thứ hai của bản tin đặc biệt, chúng tôi rất vinh dự được mời đến với đại thần của Đại Dương (LE_CHIFFRE1) để giới thiệu với mọi người: làm thế nào để sử dụng các yếu tố biến động để dễ dàng giành chiến thắng trên sàn giao dịch BTC và đạt được tỷ lệ giảm tỷ lệ giảm tỷ lệ giảm!

Tương tự như các doanh nghiệp khác, các doanh nghiệp khác cũng có thể tham gia vào các hoạt động giao dịch tiền tệ. Tương tự như các doanh nghiệp khác, các doanh nghiệp khác cũng có thể tham gia vào các hoạt động giao dịch tiền tệ. Tương tự như các doanh nghiệp khác, các doanh nghiệp khác cũng có thể tham gia vào các hoạt động giao dịch tiền tệ.

Các bạn có thể tham khảo các bài viết trên trang web của chúng tôi:

01

Lời giới thiệu

Xin chào mọi người, hôm nay tôi có vinh dự được đưa bài viết vào số lượng lớn của số lượng lớn, đồng thời cảm ơn chủ sở hữu T (một trong số hàng ngàn số ngoài). Lần đầu tiên viết bài viết cho chủ sở hữu T, hoàn toàn tự do chơi, mượn thời gian rảnh sau khi làm việc, chất lượng và lỗi cũng được yêu cầu mọi người chỉ đúng và chứa trong bài viết, cảm ơn tất cả mọi người.

Chủ sở hữu của T nói rằng viết một định lượng, nhưng không cung cấp bất kỳ phạm vi, thực sự không biết nơi để viết. Vì vậy, hãy bắt đầu từ chủ đề yêu thích của mình để thảo luận với người khác. Chỉ số định lượng và chiến lược (có thể được hỗ trợ cũng có thể tự động hóa), tất nhiên, cuối cùng chúng tôi cũng nên thêm một câu nói thường được nói từ lâu đời: đầu tư có rủi ro, đi thị trường cần phải thận trọng, chiến lược chỉ cung cấp cho mọi người ý tưởng và bài học, lợi nhuận và mất mát tự trọng.

Khi tuyên bố miễn trừ kết thúc, chúng ta bắt đầu câu hỏi chính.

02

Một chiến lược biến động đơn giản

Những người quen biết tôi thực sự biết rằng, cá nhân tôi không thích trò chơi Alpha, tương đối tôi tin tưởng vào beta, nghiên cứu nhiều hơn về beta. Vì sao, e.........mmmmm, không biết bạn trả lời, hãy tự mình suy nghĩ. Nếu bạn quan tâm, bạn có thể tin nhắn riêng tư, nhắn tin cho tác giả của số công cộng này, logic rõ ràng và đặc trưng, tác giả sẽ tự gửi một chiếc ví đỏ nhỏ cho bạn.

Các chiến lược định lượng phát triển thực sự là một hai mặt, rất khó khăn rất khó khăn cho những người mới bắt đầu, khó khăn không chỉ là mã ở cấp độ mỹ thuật, cũng khó khăn là mỹ thuật cấp độ chiến lược logic tư duy. Cả hai đều quan trọng, không nên thiên vị.

Các thuật toán chiến lược sử dụng các nguyên tắc biến động tỷ lệ lợi nhuận lăn lăn của các giá toán học chu kỳ nhất định thâm nhập giảm, dựa trên phạm vi biến động này tính toán một chu kỳ nhất định lăn lăn giá trị tối đa và tối thiểu tìm kiếm, giá trị tối đa là đường ống lên, giá trị tối thiểu là đường ống xuống, phá vỡ đường ống lên, mở giao dịch.

Các giao diện trực quan đồ họa cụ thể có thể được tham khảo dưới đây.

img

Trong thực tế, chiến lược này là chiến lược mà tôi đã sử dụng trước đây để làm ETF rộng rãi, tất nhiên cũng được sử dụng để mua và bán cổ phiếu khi chọn chỉ số, sau đó chuyển trực tiếp đến vòng đồng xu, ngạc nhiên khi thấy thực sự giảm kích thước tấn công, các tham số không cần thay đổi.

img

Dưới đây là biểu đồ cho kết quả kiểm tra lại trong năm đó, với một màn hình hiển thị phần mã logic cụ thể:

img

Trên thực tế, sau khi đọc dữ liệu, các chỉ số dữ liệu được tính toán thông qua pandas.

img

Sau khi tính toán hoàn tất, bạn có thể xuất dữ liệu bằng hàm pd.to_csv (), và xuất hình ảnh các bảng phím được sử dụng trong hình ảnh trên (lưu ý: tôi sử dụng các bản cũ của bảng phím).

Tất cả các chiến lược cụ thể, hình ảnh và mã chỉ số hiệu suất đều là những câu chuyện vớ vẩn.

03

Nói về định lượng

Thứ nhất, một chiến lược tốt là không sợ công khai, và đây không phải là một thứ gì đó về việc phát triển vũ khí chiến đấu cấp độ chiến tranh, quyết định cái chết hoặc cái chết, vì vậy tôi và một số cơ quan hoặc cá nhân, cũng không sợ cái gọi là bí mật chiến thuật, bởi vì theo tôi, CTA không có bí mật.

Thứ hai: Nhiều người, dù là người mới hay người đã bắt đầu hoặc thậm chí bao gồm cả những người chơi cũ, đều cần nguồn cảm hứng, bao gồm việc khai thác các yếu tố của cổ phiếu, ý tưởng về chiến lược chọn thời gian, v.v. thường được lấy từ kinh nghiệm chủ quan, báo cáo nghiên cứu, trao đổi giao tiếp trong vòng tròn, v.v.

Cuối cùng, kết luận là định lượng là một sản phẩm mang tính nội bộ, giao dịch lập trình thuộc về một tập hợp nhỏ của định lượng, từ thời đại học của chính mình (khoảng năm 2009), khi đó có người tham gia vào lập trình, chẳng hạn như TB, kim tự tháp, nếu tiếp tục ngày hôm nay, có thể nói rằng những người tiên tri tiên tri đầu tiên đã 10 năm, chưa bao gồm những người có chiến lược và hệ thống tần số cao mang lại từ Wall Street. Do đó, chiến lược định lượng hoặc chiến lược lập trình đã tồn tại trong Trung Quốc trong một thời gian, nhưng trong vòng thị phần và các đối tượng hiện tại, và các đối tượng chính sách hỗ trợ nói, định lượng vẫn là một phần rất nhỏ, mặc dù nhiều nghiên cứu về phân tích và mô hình chiến lược được xây dựng.

Cuối cùng, xin cảm ơn hàng ngàn cộng đồng về kỹ thuật định lượng và lời mời viết bài. Nếu bạn có bất kỳ vấn đề về mã và chiến lược cụ thể nào, vui lòng gửi tin nhắn riêng cho tôi hoặc T-Bone, tôi cũng trong nhóm T-Bone.

Cuối cùng, một lần nữa cảm ơn các bạn vì những lời giải thích tuyệt vời!

Bạn bè chưa tham gia nhóm thảo luận về định lượng hãy nhanh chóng tham gia và lấy tài liệu học tập!

Quý vị có thể xem hình ảnh của chúng tôi ở đây.

img

WeChat quét sạch Hãy chú ý đến số này.


/*backtest
start: 2019-04-18 00:00:00
end: 2020-04-17 23:59:00
period: 15m
exchanges: [{"eid":"Futures_BitMEX","currency":"XBT_USD"}]
*/

// 胖友们!! 实盘前请注意!! 此内容仅是吕神翻译demo, 上实盘请自行添加相关内容.
// 是Demo!!! 实盘谨慎!!!

// 初始化
exchange.SetContractType('XBTUSD')
var vix_arr = []
var vix_ma = []
var vix_ma_up = []
var vix_ma_dw = []
var LastBarTime = 0
var isFirst = true

function initVix() {
    records = _C(exchange.GetRecords)
    Log(records.length)
    if (records && records.length > 2 * N + 2) {
        // 初始化前N个vix值
        for (var i = -2; i < N - 1; i++) {
            Bar = records[records.length - N + i]
            lastNbar = records[records.length - N + i - N]
            Vix()
        }
    }
    // Log("vix_arr", vix_arr.length, vix_arr)
    // Log("vix_ma", vix_ma.length, vix_ma)
    // Log("vix_ma_up", vix_ma_up.length, vix_ma_up)
    // Log("vix_ma_dw", vix_ma_dw.length, vix_ma_dw)
}

// 获取交易所信息
function UpdateInfo() {
    account = _C(exchange.GetAccount)
    pos = _C(exchange.GetPosition)
    records = _C(exchange.GetRecords)
    Bar = records[records.length - 1]
    lastNbar = records[records.length - N]
    ticker = _C(exchange.GetTicker)
}

// 计算波动率及上下轨
function Vix() {
    // 当每K结束时计算
    if (LastBarTime !== Bar.Time) {
        // 当K达到计算根数开始计算vix_arr
        if (records && records.length > N) {
            // 获取vix 当前close自然对数 除以 前90根自然对数 减一
            vix = Math.log(Bar.Close) / Math.log(lastNbar.Close) - 1
            vix_arr.push(vix)
            //Log("vix_arr", vix_arr)
        }
        // 当vix_arr达到计算根数时开始计算vix_ma
        if (vix_arr && vix_arr.length > N) {
            // 获取对应周期vix算其移动平均值
            vix_ma = TA.MA(vix_arr, N)
            // 去除ma中的null值
            vix_ma = vix_ma.filter(function(val) {
                return !(!val || val === "");
            })
            //Log("vix_ma", vix_ma)
            // 获取上下通道
            vix_up = TA.Highest(vix_arr, N)
            vix_dw = TA.Lowest(vix_arr, N)
            vix_ma_up.push(vix_up)
            vix_ma_dw.push(vix_dw)
            // Log("vix_ma_up", vix_ma_up)
            //Log("vix_ma_dw", vix_ma_dw)
            // 限制所有数组长度
            if (vix_arr.length > 2000) {
                vix_arr.splice(0, 1);
            }
            if (vix_ma.length > 2000) {
                vix_ma.splice(0, 1);
            }
            if (vix_ma_up.length > 2000) {
                vix_ma_up.splice(0, 1);
            }
            if (vix_ma_dw.length > 2000) {
                vix_ma_dw.splice(0, 1);
            }
        }
        LastBarTime = Bar.Time
    }
}

// 画线
function PlotMA_Kline(records, isFirst) {
    //$.PlotRecords(records, "K")
    if (isFirst) {
        for (var i = records.length - 1 - N; i <= records.length - 1; i++) {
            if (vix_ma[i] !== null) {
                $.PlotLine("vix_arr", vix_arr[i], records[i].Time)
                $.PlotLine("vix_ma", vix_ma[i], records[i].Time)
                $.PlotLine("vix_ma_up", vix_ma_up[i], records[i].Time)
                $.PlotLine("vix_ma_dw", vix_ma_dw[i], records[i].Time)
            }
        }
        PreBarTime = records[records.length - 1].Time
    } else {
        if (PreBarTime !== records[records.length - 1].Time) {
            $.PlotLine("vix_arr", vix_arr[vix_arr.length - 2], records[records.length - 2].Time)
            $.PlotLine("vix_ma", vix_ma[vix_ma.length - 2], records[records.length - 2].Time)
            $.PlotLine("vix_ma_up", vix_ma_up[vix_ma_up.length - 2], records[records.length - 2].Time)
            $.PlotLine("vix_ma_dw", vix_ma_dw[vix_ma_dw.length - 2], records[records.length - 2].Time)
            PreBarTime = records[records.length - 1].Time
        }
        $.PlotLine("vix_arr", vix_arr[vix_arr.length - 1], records[records.length - 1].Time)
        $.PlotLine("vix_ma", vix_ma[vix_ma.length - 1], records[records.length - 1].Time)
        $.PlotLine("vix_ma_up", vix_ma_up[vix_ma_up.length - 1], records[records.length - 1].Time)
        $.PlotLine("vix_ma_dw", vix_ma_dw[vix_ma_dw.length - 1], records[records.length - 1].Time)
    }
}

// 交易逻辑
function onTick() {
    // 无仓位时
    if (pos.length == 0) {
        // Long 当前K线的收盘价 > 上轨 && 之前K线的收盘价 <= 上轨
        if (vix_arr[vix_arr.length - 1] > vix_ma_up[vix_ma_up.length - 1] &&
            vix_arr[vix_arr.length - 2] <= vix_ma_up[vix_ma_up.length - 2]) {
            exchange.SetDirection("buy")
            exchange.Buy(ticker.Sell, Amount)
            $.PlotFlag(new Date().getTime(), 'Buy', 'BK')
        }
        // Short 当前K线的收盘价 < 下轨 && 之前K线的收盘价 >= 下轨
        if (vix_arr[vix_arr.length - 1] < vix_ma_dw[vix_ma_dw.length - 1] &&
            vix_arr[vix_arr.length - 2] >= vix_ma_dw[vix_ma_dw.length - 2]) {
            exchange.SetDirection("sell")
            exchange.Sell(ticker.Buy, Amount)
            $.PlotFlag(new Date().getTime(), 'Sell', 'SK')
        }
    }
    // 多仓时
    if (pos.length > 0 && pos[0].Type == 0) {
        // 平多 当前K线的收盘价 < 中轨 && 之前K线的收盘价 >= 中轨
        if (vix_arr[vix_arr.length - 1] < vix_ma[vix_ma.length - 1] &&
            vix_arr[vix_arr.length - 2] >= vix_ma[vix_ma.length - 2]) {
            exchange.SetDirection("closebuy")
            exchange.Sell(ticker.Buy, pos[0].Amount)
            $.PlotFlag(new Date().getTime(), 'Sell', 'SBK')
        }
    }
    // 空仓时
    if (pos.length > 0 && pos[0].Type == 1) {
        // 平空 当前K线的收盘价 > 中轨 && 之前K线的收盘价 <= 中轨
        if (vix_arr[vix_arr.length - 1] > vix_ma[vix_ma.length - 1] &&
            vix_arr[vix_arr.length - 2] <= vix_ma[vix_ma.length - 2]) {
            exchange.SetDirection("closesell")
            exchange.Buy(ticker.Sell, pos[0].Amount)
            $.PlotFlag(new Date().getTime(), 'Buy', 'PSK')
        }
    }
}

function main() {
    initVix()
    while (1) {
        UpdateInfo()
        Vix()
        onTick()
        if (records) {
            PlotMA_Kline(records, isFirst)
            //Log('画线')
            isFirst = false
        }
        Sleep(5 * 1000)
    }
}

Có liên quan

Thêm nữa

Nhà phát minh định lượngTôi đi qua https://www.fmz.com/strategy/361827

rootmeLoại đậu luôn đẹp.

Một tách trà đenChiến lược này có vẻ không liên quan nhiều đến tỷ lệ biến động.

bài giảngTôi không thể mô tả tỷ lệ biến động, mà chỉ có thể nói là mối quan hệ giữa mức độ biến động. Đề cập đến phương pháp mở giao dịch của HH, LL, là hoạt động của Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường Đường. Bạn có thể tìm hiểu thêm về sự biến động ngụ ý, hoặc để cho các chuyên gia mô tả.

Những đám mây nhẹCô bé đậu, cô có thể nhận hành lý không?

nhút nhátBạn hỏi tôi không ủng hộ, tôi chắc chắn sẽ ủng hộ.

nhút nhátBạn hỏi tôi không ủng hộ, tôi chắc chắn sẽ ủng hộ.

Những đám mây nhẹTốt lắm.

Hạt đậuTôi nghĩ rằng nửa năm tới sẽ trống rỗng.

Những đám mây nhẹ。。。。。。。 Được rồi.

Hạt đậu (^U^)ノ~YO

Hạt đậuTôi không có nhiều thời gian để nghĩ về việc này, nhưng tôi có thể viết code rất tốt, không phải là không thể sử dụng chuỗi. /(o) /~~