Shannon Entropy V2

Tác giả:ChaoZhang, Ngày: 2022-05-23 15:07:54
Tags:stdevWMA

Phiên bản 2, Shannon Entropy Bản cập nhật này bao gồm cả deadband (Plotting tùy chọn) và PercentRank Indicating.

Đây là một cách độc đáo để xem thông tin giá & khối lượng của bạn. Sử dụng giá trị tính toán của Shannon Entropy . Đây là một thước đo của ngạc nhiên trong dữ liệu, càng lớn chuyển động hoặc sai lệch từ giá trị có khả năng nhất, càng cao lợi nhuận thông tin mới. Điều tôi nghĩ là rất thú vị về giá trị này, là sự mượt mà mà mà nó hiển thị thông tin mà không sử dụng đường trung bình động. Có rất nhiều thịt trên xương này để được kết hợp trong các kịch bản khác.

H = -sum(prob(i) * log_base2(prob(i)))

Tôi đã bao gồm cách điển hình mà tôi đã thử nghiệm với điều này, đó là sự khác biệt giữa thông tin khối lượng và thông tin giá. Tôi đã bao gồm tùy chọn tắt dữ liệu giá hoặc khối lượng để xem giá trị Entropy Shannon của bất kỳ giá trị nào. Có rất nhiều kịch bản phức tạp ngoài kia đang cố gắng làm những gì tính toán này đang làm trong 3 dòng. Như với bất cứ điều gì, không có bữa trưa miễn phí, vì vậy bạn có thể thấy tốt khi bạn giảm chiều dài bạn sẽ nhanh chóng tìm hiểu nơi tần số nyquist của bạn ở, bạn sẽ muốn làm việc ở mức gấp đôi giá trị ồn ào tối thiểu.

Sử dụng kịch bản này dựa trên Information và nó làm nổi bật những nơi cần sự chú ý của bạn, hoặc vì có một lượng lớn thay đổi (thông tin mới) hoặc có ít thông tin mới (sự tự mãn, các phong trào thể chế).backtest

img


/*backtest
start: 2022-04-22 00:00:00
end: 2022-05-21 23:59:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © kocurekc

//@version=4
//
// @author Kocurekc
// Rev-3, Added STDev bands and Precent Rank
// Rev-2, Shannon entropy
// Rev-1, new picture for moderators
// Rev-0, added colors, flipped delta to clean up view
//
// Live a little, publish your scripts...be a John Elhers
//

study(title="Shannon Entropy V2", shorttitle="Info-S", precision=2)
src = input(close, title="source", type=input.source)
len = input(9, title="Entropy Length", type=input.integer)
range = input(0.025, title="color level", type=input.float)
avg = input(44, title="Averaging Length", type=input.integer)
vPR = input(2, title="Percent Rank Limit", type=input.integer)
bc = input(true, title="Include Source", type=input.bool)
vc = input(true, title="Include Volume", type=input.bool)
pb = input(true, title="Print Bands", type=input.bool)

//Shannon Entropy, for source (close) or for Volume or both
cr = src/sum(src,len)
vr = log(volume)/sum(log(volume),len)
info = ((vc ? sum(vr*log10(vr)/log10(2),len) : 0) - (bc ? vc ? sum(cr*log10(cr)/log10(2),len) : sum(cr*log10(cr)/log10(2),len) : 0))

//coloring for Shannon Entropy using both source and volume
hc1 = info > range ? #4caf50 : info > range * -1 ? #ffeb3b : info <= range * -1 ? #f44336 : na

//Plotting 
plot(info, style=(bc and vc ? plot.style_columns :plot.style_line ), color=hc1 )
plot((bc and vc ? 0 : na), color=color.gray)


//Top/Bottom STDev
value = wma(info,avg)
top = value+stdev(info,len)
btm = value-stdev(info,len)
plot(pb ? top:na)
plot(pb ? btm:na)

//Percent Rank and ploting
hvp = percentrank(info,avg)
plotshape(hvp>(100-vPR) ? info : na, location=location.absolute, style=shape.triangledown, color=color.red, size=size.tiny, transp=30, offset=0)
plotshape(hvp<vPR ? info : na, location=location.absolute, style=shape.triangleup, color=color.green, size=size.tiny, transp=30, offset=0)

if hvp<vPR
    strategy.entry("Enter Long", strategy.long)
else if hvp>(100-vPR)
    strategy.entry("Enter Short", strategy.short)

Có liên quan

Thêm nữa