Simulation Monte Carlo on corelation gold/silver price
Posted: Mon Aug 03, 2026 5:13 pm
Hi scalpers,
i prepared for you simulation of corelation on gold/silver price scalping.
Its written in Python.
Please let me know, what do you think 
i prepared for you simulation of corelation on gold/silver price scalping.
Its written in Python.
Code: Select all
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import qmc, norm
def generate_data(iterations: int = 2_000_000):
"""Zkrácená verze QMC simulace z předchozího kroku pro získání dat."""
S0_gold, S0_silver = 2350.0, 30.0
mu_gold, vol_gold = 0.05, 0.15
mu_silver, vol_silver = 0.07, 0.28
correlation, T = 0.82, 1.0
corr_matrix = np.array([[1.0, correlation], [correlation, 1.0]])
L = np.linalg.cholesky(corr_matrix)
sampler = qmc.Sobol(d=2, scramble=True)
uniform_samples = sampler.random(n=iterations)
z_independent = norm.ppf(uniform_samples)
z_correlated = (L @ z_independent.T).T
x_gold, x_silver = z_correlated[:, 0], z_correlated[:, 1]
prices_gold = S0_gold * np.exp((mu_gold - 0.5 * vol_gold**2) * T + vol_gold * np.sqrt(T) * x_gold)
prices_silver = S0_silver * np.exp((mu_silver - 0.5 * vol_silver**2) * T + vol_silver * np.sqrt(T) * x_silver)
return prices_gold, prices_silver
# 1. Vygenerování dat
prices_gold, prices_silver = generate_data(2_000_000)
# 2. Nastavení vizuálního stylu Seaborn
sns.set_theme(style="darkgrid")
plt.figure(figsize=(10, 8))
# 3. Vykreslení 2D histogramu
# Používáme bins=150 pro detailní rozlišení.
# cmap="inferno" nebo "magma" poskytuje skvělý kontrast pro teplotní mapy (od tmavé po světlou)
sns.histplot(
x=prices_gold,
y=prices_silver,
bins=150,
cmap="magma",
cbar=True,
cbar_kws={'label': 'Hustota výskytu (počet iterací v sektoru)'}
)
# 4. Přidání metadat grafu
plt.title("QMC Simulace: Korelace ceny Zlata a Stříbra (2 000 000 iterací)", fontsize=14, pad=15)
plt.xlabel("Cena Zlata (USD)", fontsize=12)
plt.ylabel("Cena Stříbra (USD)", fontsize=12)
# Vykreslení přímky lineární regrese (volitelné, ukazuje směr korelace)
# Kreslíme ji tenkou, aby nepřekryla samotný histogram
sns.regplot(
x=prices_gold,
y=prices_silver,
scatter=False,
color="cyan",
line_kws={"linewidth": 1, "linestyle": "--"}
)
plt.tight_layout()
plt.show()