Global Liquidity Index with BTC correlation

 avatar
unknown
plain_text
5 months ago
6.1 kB
15
Indexable
//@version=5
indicator('Global Liquidity Index with BTC Correlation', overlay=true, scale=scale.none)

// Input settings for various components
fed_active = input(true, title="FED (Federal Reserve System)")
tga_active = input(true, title="TGA (Treasury General Account)")
rrp_active = input(true, title="RRP (Reverse Repurchase Agreements)")
ecb_active = input(true, title="ECB (European Central Bank)")
pbc_active = input(true, title="PBC (People's Bank of China)")
boj_active = input(true, title="BOJ (Bank of Japan)")
other_active = input(true, title="Other Central Banks")
usa_active = input(false, title="USM2 (USA Money Supply)")
europe_active = input(false, title="EUM2 (Europe Money Supply)")
china_active = input(false, title="CNM2 (China Money Supply)")
japan_active = input(false, title="JPM2 (Japan Money Supply)")
other_m2_active = input(false, title="Other Countries M2")
sma_input = input(defval=1, title="SMA Length")
roc_input = input(defval=1, title="ROC Length")
correlation_length = input.int(30, "Correlation Length", minval=1)

// Security data requests
fed = fed_active ? request.security("USCBBS", "D", close, currency=currency.USD) : 0
rrp = rrp_active ? request.security("RRPONTSYD", "D", close, currency=currency.USD) : 0
tga = tga_active ? request.security("WTREGEN", "D", close, currency=currency.USD) : 0
ecb = ecb_active ? request.security("EUCBBS * EURUSD", "D", close, currency=currency.USD) : 0
pbc = pbc_active ? request.security("CNCBBS * CNYUSD", "D", close, currency=currency.USD) : 0
boj = boj_active ? request.security("JPCBBS * JPYUSD", "D", close, currency=currency.USD) : 0
boe = other_active ? request.security("GBCBBS * GBPUSD", "D", close, currency=currency.USD) : 0
boc = other_active ? request.security("CACBBS * CADUSD", "D", close, currency=currency.USD) : 0
rba = other_active ? request.security("AUCBBS * AUDUSD", "D", close, currency=currency.USD) : 0
rbi = other_active ? request.security("INCBBS * INRUSD", "D", close, currency=currency.USD) : 0
snb = other_active ? request.security("CHCBBS * CHFUSD", "D", close, currency=currency.USD) : 0
cbr = other_active ? request.security("RUCBBS * RUBUSD", "D", close, currency=currency.USD) : 0
bcb = other_active ? request.security("BRCBBS * BRLUSD", "D", close, currency=currency.USD) : 0
bok = other_active ? request.security("KRCBBS * KRWUSD", "D", close, currency=currency.USD) : 0
rbzn = other_active ? request.security("NZCBBS * NZDUSD", "D", close, currency=currency.USD) : 0
sr = other_active ? request.security("SECBBS * SEKUSD", "D", close, currency=currency.USD) : 0
bnm = other_active ? request.security("MYCBBS * MYRUSD", "D", close, currency=currency.USD) : 0
usa = usa_active ? request.security("ECONOMICS:USM2", "D", close, currency=currency.USD) : 0
eu = europe_active ? request.security("ECONOMICS:EUM2 * EURUSD", "D", close, currency=currency.USD) : 0
china = china_active ? request.security("ECONOMICS:CNM2 * CNYUSD", "D", close, currency=currency.USD) : 0
japan = japan_active ? request.security("ECONOMICS:JPM2 * JPYUSD", "D", close, currency=currency.USD) : 0
uk = other_m2_active ? request.security("ECONOMICS:GBM2 * GBPUSD", "D", close, currency=currency.USD) : 0
canada = other_m2_active ? request.security("ECONOMICS:CAM2 * CADUSD", "D", close, currency=currency.USD) : 0
australia = other_m2_active ? request.security("ECONOMICS:AUM3 * AUDUSD", "D", close, currency=currency.USD) : 0
india = other_m2_active ? request.security("ECONOMICS:INM2 * INRUSD", "D", close, currency=currency.USD) : 0
switzerland = other_m2_active ? request.security("ECONOMICS:CHM2 * CHFUSD", "D", close, currency=currency.USD) : 0
russia = other_m2_active ? request.security("ECONOMICS:RUM2 * RUBUSD", "D", close, currency=currency.USD) : 0
brazil = other_m2_active ? request.security("ECONOMICS:BRM2 * BRLUSD", "D", close, currency=currency.USD) : 0
korea = other_m2_active ? request.security("ECONOMICS:KRM2 * KRWUSD", "D", close, currency=currency.USD) : 0
mexico = other_m2_active ? request.security("ECONOMICS:MXM2 * MXNUSD", "D", close, currency=currency.USD) : 0
indonesia = other_m2_active ? request.security("ECONOMICS:IDM2 * IDRUSD", "D", close, currency=currency.USD) : 0
africa = other_m2_active ? request.security("ECONOMICS:ZAM2 * ZARUSD", "D", close, currency=currency.USD) : 0
malaysia = other_m2_active ? request.security("ECONOMICS:MYM2 * MYRUSD", "D", close, currency=currency.USD) : 0
sweden = other_m2_active ? request.security("ECONOMICS:SEM2 * SEKUSD", "D", close, currency=currency.USD) : 0

// Calculate total liquidity
var float total = 0.0
total += fed_active ? fed : 0
total -= rrp_active ? rrp : 0
total -= tga_active ? tga : 0
total += ecb_active ? ecb : 0
total += pbc_active ? pbc : 0
total += boj_active ? boj : 0
total += boe
total += boc
total += rba
total += rbi
total += snb
total += cbr
total += bcb
total += bok
total += rbzn
total += sr
total += bnm
total += usa
total += eu
total += china
total += japan
total += uk
total += canada
total += australia
total += india
total += switzerland
total += russia
total += brazil
total += korea
total += mexico
total += indonesia
total += africa
total += malaysia
total += sweden

total := total / 1000000000000

// Calculations for the oscillator
sma = ta.sma(total, sma_input)
roc = ta.roc(total, roc_input)
roc_sma = ta.sma(roc, sma_input)

// BTC Correlation
btc_price = request.security("CRYPTOCAP:BTC", "D", close)
//correlation_length = input.int(30, "Correlation Length", minval=1)
correlation_with_btc = ta.correlation(roc_sma, btc_price, correlation_length)

// Plotting as an oscillator
hline(0, "Zero Line", color=color.gray)
plot(roc_sma, color=color.yellow, title="Liquidity Oscillator")
plot(correlation_with_btc * 100, color=color.blue, title="BTC Correlation * 100")

// Background color for correlation visualization
bgcolor(correlation_with_btc > 0 ? color.new(color.green, 90) : color.new(color.red, 90))

// Optional: Add labels or other visual elements as needed
Editor is loading...
Leave a Comment