Ten ideas, in the order each one needs the one before it. Every section has the same shape: the
idea in one sentence, the formula with numbers worked by hand, a real run where one helps, the
trap, and where the idea shows up again. The real runs use the blog’s usual five tickers (SPY,
AAPL, JPM, XOM, GLD, daily adjusted closes 2019 to 2023) and one simulation written from scratch;
the full script is at the end of the post. The point is to be able to do
each calculation on paper and to recognise the pattern when it appears in a different costume.
Two habits do most of the work in this half:
Multiply, never add, returns. Scale volatility and Sharpe by the square root of time, never by
time. And for every number in a backtest, ask when it was known.
the quantity being estimated or chosen risk, spread, error a loss or bad event return, the good outcome
Hedge funds and the fee that shapes them
Full post: What is quantitative finance? .
A hedge fund is a lightly regulated pool for wealthy investors, paid mostly on performance. The
investor buys lower volatility, not necessarily higher return. The fee is “2 and 20”: 2% of assets
every year, then 20% of the return. Both are on absolute return, not on return above a benchmark.
fee = 2 % + 0.2 × ( r − 2 % ) \key{\text{fee}} = 2\% + 0.2 \times (\good{r} - 2\%) fee = 2% + 0.2 × ( r − 2% )
Fund earns Manager takes Investor keeps Manager’s share of the return 4% 2 + 0.2 × 2 = 2.4% 1.6% 60% 10% 2 + 0.2 × 8 = 3.6% 6.4% 36% −5% 2% (the 20% is never negative) −7% — $15M profit on $100M 2M, then 20% of 13M = 2.6M $10.4M = 10.4% 31%
Four strategy families: equity long/short (stock picking, the original model), arbitrage (a price
relationship that should return to normal), direction or momentum (a macro view), event-driven
(mergers, shocks). Leverage is borrowing to hold more than your capital: a “130/30” fund is 130%
long and 30% short on 100% of capital.
Trap Truth The 20% is on return above a benchmark Absolute return No fee in a losing year The 2% is still charged Weights summing to 1 means no leverage Check gross exposure, the sum of absolute weights
Returns compound
Full post: Returns compound: multiply, never add .
Returns multiply. A move from 100 to 110 is +10%, written 0.10; the growth factor is 1.10. Chain
periods by multiplying growth factors, because each period starts from the last one’s end.
R cum = ( 1 + r 1 ) ( 1 + r 2 ) ⋯ ( 1 + r n ) − 1 \good{R_{\text{cum}}} = (1 + r_1)(1 + r_2)\cdots(1 + r_n) - 1 R cum = ( 1 + r 1 ) ( 1 + r 2 ) ⋯ ( 1 + r n ) − 1
CAGR = ( V end V start ) 1 / years − 1 \key{\text{CAGR}} = \left(\frac{V_{\text{end}}}{V_{\text{start}}}\right)^{1/\text{years}} - 1 CAGR = ( V start V end ) 1/ years − 1
Annualising: returns use n n n (compound), volatility uses n \sqrt{n} n . Daily n = 252 n = 252 n = 252 (about 260
weekdays minus 8 holidays), monthly n = 12 n = 12 n = 12 . Memorise 252 ≈ 15.87 \sqrt{252} \approx 15.87 252 ≈ 15.87 and
12 ≈ 3.46 \sqrt{12} \approx 3.46 12 ≈ 3.46 .
Case Working Result +10% then −5% 1.10 × 0.95 − 1 4.5%, not 5% +50% then −50% 1.5 × 0.5 − 1 −25%, not 0 $100M to $121M in 2 years √1.21 − 1 10% a year, not 21/2 +30% then −20%: arithmetic vs geometric (30 − 20)/2 vs √(1.3 × 0.8) − 1 5% vs 1.98% 1% a month, annualised 1.01¹² − 1 12.68% 1.2% daily volatility, annualised 1.2 × 15.87 19.05% Lost 30%: gain needed to recover 1/0.70 − 1 42.86% 60% at +10%, 40% at −5% 6 − 2 4% (weighted average) Rule of 72 at 6% 72/6 doubles in about 12 years Down 11% when the index is down 30% −11 − (−30) +19 points relative: a loss that beat its benchmark
Geometric mean is at most the arithmetic mean, equal only when every return is identical; the gap
is volatility drag , about σ 2 / 2 \risk{\sigma^2}/2 σ 2 /2 . Order of returns does not matter unless money
goes in or out along the way. A short position has a negative weight, so a falling price gives a
positive contribution.
Trap Truth Add returns Multiply growth factors CAGR = total ÷ years Take the root Annualise volatility × 252 × √252 A short of a falling stock hurts Negative weight × negative return is positive A negative return cannot beat the benchmark It can
Risk, and three ratios that divide by it
Full post: Sharpe, Sortino and Information ratio .
Return without risk is half a number. Each ratio divides a reward by a different kind of risk.
Sharpe = R − R f σ \text{Sharpe} = \frac{\good{R} - R_f}{\risk{\sigma}} Sharpe = σ R − R f
Sortino = R − T σ down \text{Sortino} = \frac{\good{R} - T}{\risk{\sigma_{\text{down}}}} Sortino = σ down R − T
IR = R − R bench σ R − R bench \text{IR} = \frac{\good{R} - R_{\text{bench}}}{\risk{\sigma_{R - R_{\text{bench}}}}} IR = σ R − R bench R − R bench
Sharpe uses total volatility and the risk-free rate; Sortino uses only the moves below a target;
the information ratio uses the gap to a benchmark divided by the tracking error. Annualise a daily
Sharpe by 252 \sqrt{252} 252 : the mean grows with n n n , the standard deviation with n \sqrt{n} n .
Sharpe annual = 252 r ˉ daily − r f s daily = 15.87 × 0.0005 0.012 = 0.66 \begin{aligned}
\key{\text{Sharpe}_{\text{annual}}} &= \sqrt{252}\,\frac{\bar{r}_{\text{daily}} - r_f}{\risk{s_{\text{daily}}}} \\[10pt]
&= 15.87 \times \frac{0.0005}{0.012} = \key{0.66}
\end{aligned} Sharpe annual = 252 s daily r ˉ daily − r f = 15.87 × 0.012 0.0005 = 0.66
Sharpe is unit-free. A wild asset with a high average daily return and a calm asset with a
modest one can tie exactly, while one of them has three times the volatility and a far deeper
drawdown. The ratio says nothing about the path, the size of the swings, or the tail.
Case Working Result Fund A 12%, R f R_f R f 2%, σ 20% 10/20 0.50 Fund B 9%, R f R_f R f 2%, σ 8% 7/8 0.875, better despite lower return Daily Sharpe 0.05, annualised 0.05 × 15.87 0.79 Returns 2, −1, 3, −2, target 0: downside deviation √((0 + 1 + 0 + 4)/4) 1.12% Portfolio 11%, benchmark 8%, tracking error 6% 3/6 IR 0.50 Manager A beats by 2 with TE 2.5; B beats by 4 with TE 8 0.80 vs 0.50 A has the better IR Drawdown 25%: gain to recover 1/0.75 − 1 33.3%
Drawdown is the fall from the highest point so far to a later low, not start to end. It has a
depth and a duration (the longest wait to regain the old peak), often from different episodes.
Sharpe is unchanged by leverage, because top and bottom scale together.
Trap Truth Higher return means higher Sharpe No Sharpe uses the raw return Excess over risk-free Annualise Sharpe × 252 × √252 Sortino uses total σ Downside only Same σ means same risk Shape and tails differ
Diversification: correlation decides what cancels
Full post: Covariance and correlation .
Portfolio risk depends on how holdings move together, not how many you hold. Correlation changes
risk and never the expected return, which stays the weighted average.
σ p 2 = w A 2 σ A 2 + w B 2 σ B 2 + 2 w A w B ρ σ A σ B \risk{\sigma_p^2} = w_A^2 \risk{\sigma_A^2} + w_B^2 \risk{\sigma_B^2} + 2\,w_A w_B\,\key{\rho}\,\risk{\sigma_A}\risk{\sigma_B} σ p 2 = w A 2 σ A 2 + w B 2 σ B 2 + 2 w A w B ρ σ A σ B
Cov ( A , B ) = ρ σ A σ B \text{Cov}(A, B) = \key{\rho}\,\risk{\sigma_A}\risk{\sigma_B} Cov ( A , B ) = ρ σ A σ B
Only the last term carries ρ \key{\rho} ρ . Positive correlation adds risk, negative removes it.
Case Working Result 50/50, both σ 20%, ρ = 0 0.25 × 0.04 + 0.25 × 0.04 σ = √0.02 = 14.1% Same, ρ = −0.5 0.01 + 0.01 − 0.01 σ = 10% Same, ρ = +1 0.01 + 0.01 + 0.02 σ = 20%: nothing cancels Covariance, ρ 0.3, σ 20% and 15% 0.3 × 0.20 × 0.15 0.009 Perfect hedge, ρ = −1, σ 10% and 20% weights ∝ 1/σ, so 2:1 2/3 and 1/3 gives zero variance A 35% position falls 50% 0.35 × −0.50 portfolio −17.5%
Real run. Equal weights in SPY, AAPL, JPM and XOM, daily volatility of the mix against its
members:
Year SPY AAPL JPM XOM Equal-weight mix Average pairwise correlation 2020, the crash year 2.10% 2.94% 3.42% 3.33% 2.56 % \risk{2.56\%} 2.56% 0.69 \key{0.69} 0.69 2021, a calm year 0.82% 1.58% 1.35% 1.86% 1.01 % \risk{1.01\%} 1.01% 0.39 \key{0.39} 0.39
In both years the mix sits below three of its four members. The difference is how much cancels:
in 2021 the three stocks averaged 1.60% and the mix came in at 1.01%; in 2020 they averaged 3.23%
and the mix only reached 2.56%, because the correlation between them had nearly doubled. In a
crash correlations rise towards 1 and the cancelling stops exactly when you need it.
Specific risk (one company’s news) diversifies away; systematic risk (the whole economy) stays.
With many assets, portfolio variance tends to the average covariance: the floor is
ρ σ \sqrt{\key{\rho}}\,\risk{\sigma} ρ σ , and it is the same mathematics as the floor on a bagged
ensemble’s variance in the machine-learning half.
Trap Truth Correlation changes expected return Only the variance Zero correlation means no joint losses No More holdings means diversified Not if they share a driver Calm-period correlations hold in a crash They rise
Full post: Portfolio optimisation .
Mean-variance optimisation picks weights from estimated returns and covariances. The maths is
exact; the inputs are noisy; constraints make the answer holdable.
An optimiser has four parts, and naming them is most of the understanding:
Part In a Sharpe-maximising optimiser Why it is there Decision variables one weight per asset the thing being chosen Objective the negative of the annualised Sharpe ratio a minimiser maximises by minimising the negative Constraints weights add up to 1 fully invested Bounds each weight between 0 and 1 long only, no leverage Search procedure a gradient-based local search from equal weights it moves downhill until no small change helps
The prices are first rescaled so every asset starts at 1.0, so that the weights mean shares of
money rather than shares of a price. A local search can stop at a nearby optimum rather than the
global one, and with the Sharpe objective it will happily push to a corner of the bounds.
Real run. SciPy’s SLSQP on the five tickers, weights chosen on one period and then run on the
next, against the 20%-each portfolio:
Chosen on Weights it chose Sharpe, same period Sharpe, next period Equal weights, next period 2019 57% GLD, 25% JPM, 18% AAPL 3.82 1.17 0.61 2020 64% GLD, 36% AAPL 1.70 0.76 1.91 2021 80% SPY, 14% XOM, 5% AAPL 2.24 −0.10 0.29 2022 100% XOM 1.88 0.00 \bad{0.00} 0.00 1.93 2019 to 2021 58% GLD, 42% AAPL 1.76 0.42 0.64
In returns, the optimised weights made +25.6% against +15.1% for equal weights in 2020, then lost
every later comparison: +9.9% against +29.6% in 2021, −4.9% against +4.0% in 2022, −2.9% against
+24.0% in 2023, and +10.8% against +20.8% over 2022 to 2023 together.
Three things to see. In 2022, the one year where a single asset had a strongly positive Sharpe
(XOM at 1.88 while SPY and AAPL were negative), the optimiser went all in on that one asset ,
because any diversification would have lowered the in-sample ratio; the next year it earned
nothing while equal weights made 24%. The in-sample Sharpe fell by at least half out of sample in
every window. And equal weights beat the optimised weights in four of the five. This is the
“error maximiser” problem: small errors in expected returns become extreme weights. Remedies:
constraints, shrinking the estimates towards something plain, resampling, or dropping the return
forecasts altogether.
{"panels":[{"x0":46.52,"x1":564.73,"y0":29.16,"y1":206.21,"title":"Weights chosen on 2019 to 2021, then run on 2022 to 2023, against equal weights","xlabel":"Date","ylabel":"Value of 1 dollar invested at the start of 2022","xlog":false}],"series":[{"panel":0,"label":"Sharpe-maximising weights from 2019 to 2021","color":"var(--chart-maroon, #b6262c)","x":["2022-01-03","2022-01-04","2022-01-05","2022-01-06","2022-01-07","2022-01-10","2022-01-11","2022-01-12","2022-01-13","2022-01-14","2022-01-18","2022-01-19","2022-01-20","2022-01-21","2022-01-24","2022-01-25","2022-01-26","2022-01-27","2022-01-28","2022-01-31","2022-02-01","2022-02-02","2022-02-03","2022-02-04","2022-02-07","2022-02-08","2022-02-09","2022-02-10","2022-02-11","2022-02-14","2022-02-15","2022-02-16","2022-02-17","2022-02-18","2022-02-22","2022-02-23","2022-02-24","2022-02-25","2022-02-28","2022-03-01","2022-03-02","2022-03-03","2022-03-04","2022-03-07","2022-03-08","2022-03-09","2022-03-10","2022-03-11","2022-03-14","2022-03-15","2022-03-16","2022-03-17","2022-03-18","2022-03-21","2022-03-22","2022-03-23","2022-03-24","2022-03-25","2022-03-28","2022-03-29","2022-03-30","2022-03-31","2022-04-01","2022-04-04","2022-04-05","2022-04-06","2022-04-07","2022-04-08","2022-04-11","2022-04-12","2022-04-13","2022-04-14","2022-04-18","2022-04-19","2022-04-20","2022-04-21","2022-04-22","2022-04-25","2022-04-26","2022-04-27","2022-04-28","2022-04-29","2022-05-02","2022-05-03","2022-05-04","2022-05-05","2022-05-06","2022-05-09","2022-05-10","2022-05-11","2022-05-12","2022-05-13","2022-05-16","2022-05-17","2022-05-18","2022-05-19","2022-05-20","2022-05-23","2022-05-24","2022-05-25","2022-05-26","2022-05-27","2022-05-31","2022-06-01","2022-06-02","2022-06-03","2022-06-06","2022-06-07","2022-06-08","2022-06-09","2022-06-10","2022-06-13","2022-06-14","2022-06-15","2022-06-16","2022-06-17","2022-06-21","2022-06-22","2022-06-23","2022-06-24","2022-06-27","2022-06-28","2022-06-29","2022-06-30","2022-07-01","2022-07-05","2022-07-06","2022-07-07","2022-07-08","2022-07-11","2022-07-12","2022-07-13","2022-07-14","2022-07-15","2022-07-18","2022-07-19","2022-07-20","2022-07-21","2022-07-22","2022-07-25","2022-07-26","2022-07-27","2022-07-28","2022-07-29","2022-08-01","2022-08-02","2022-08-03","2022-08-04","2022-08-05","2022-08-08","2022-08-09","2022-08-10","2022-08-11","2022-08-12","2022-08-15","2022-08-16","2022-08-17","2022-08-18","2022-08-19","2022-08-22","2022-08-23","2022-08-24","2022-08-25","2022-08-26","2022-08-29","2022-08-30","2022-08-31","2022-09-01","2022-09-02","2022-09-06","2022-09-07","2022-09-08","2022-09-09","2022-09-12","2022-09-13","2022-09-14","2022-09-15","2022-09-16","2022-09-19","2022-09-20","2022-09-21","2022-09-22","2022-09-23","2022-09-26","2022-09-27","2022-09-28","2022-09-29","2022-09-30","2022-10-03","2022-10-04","2022-10-05","2022-10-06","2022-10-07","2022-10-10","2022-10-11","2022-10-12","2022-10-13","2022-10-14","2022-10-17","2022-10-18","2022-10-19","2022-10-20","2022-10-21","2022-10-24","2022-10-25","2022-10-26","2022-10-27","2022-10-28","2022-10-31","2022-11-01","2022-11-02","2022-11-03","2022-11-04","2022-11-07","2022-11-08","2022-11-09","2022-11-10","2022-11-11","2022-11-14","2022-11-15","2022-11-16","2022-11-17","2022-11-18","2022-11-21","2022-11-22","2022-11-23","2022-11-25","2022-11-28","2022-11-29","2022-11-30","2022-12-01","2022-12-02","2022-12-05","2022-12-06","2022-12-07","2022-12-08","2022-12-09","2022-12-12","2022-12-13","2022-12-14","2022-12-15","2022-12-16","2022-12-19","2022-12-20","2022-12-21","2022-12-22","2022-12-23","2022-12-27","2022-12-28","2022-12-29","2022-12-30","2023-01-03","2023-01-04","2023-01-05","2023-01-06","2023-01-09","2023-01-10","2023-01-11","2023-01-12","2023-01-13","2023-01-17","2023-01-18","2023-01-19","2023-01-20","2023-01-23","2023-01-24","2023-01-25","2023-01-26","2023-01-27","2023-01-30","2023-01-31","2023-02-01","2023-02-02","2023-02-03","2023-02-06","2023-02-07","2023-02-08","2023-02-09","2023-02-10","2023-02-13","2023-02-14","2023-02-15","2023-02-16","2023-02-17","2023-02-21","2023-02-22","2023-02-23","2023-02-24","2023-02-27","2023-02-28","2023-03-01","2023-03-02","2023-03-03","2023-03-06","2023-03-07","2023-03-08","2023-03-09","2023-03-10","2023-03-13","2023-03-14","2023-03-15","2023-03-16","2023-03-17","2023-03-20","2023-03-21","2023-03-22","2023-03-23","2023-03-24","2023-03-27","2023-03-28","2023-03-29","2023-03-30","2023-03-31","2023-04-03","2023-04-04","2023-04-05","2023-04-06","2023-04-10","2023-04-11","2023-04-12","2023-04-13","2023-04-14","2023-04-17","2023-04-18","2023-04-19","2023-04-20","2023-04-21","2023-04-24","2023-04-25","2023-04-26","2023-04-27","2023-04-28","2023-05-01","2023-05-02","2023-05-03","2023-05-04","2023-05-05","2023-05-08","2023-05-09","2023-05-10","2023-05-11","2023-05-12","2023-05-15","2023-05-16","2023-05-17","2023-05-18","2023-05-19","2023-05-22","2023-05-23","2023-05-24","2023-05-25","2023-05-26","2023-05-30","2023-05-31","2023-06-01","2023-06-02","2023-06-05","2023-06-06","2023-06-07","2023-06-08","2023-06-09","2023-06-12","2023-06-13","2023-06-14","2023-06-15","2023-06-16","2023-06-20","2023-06-21","2023-06-22","2023-06-23","2023-06-26","2023-06-27","2023-06-28","2023-06-29","2023-06-30","2023-07-03","2023-07-05","2023-07-06","2023-07-07","2023-07-10","2023-07-11","2023-07-12","2023-07-13","2023-07-14","2023-07-17","2023-07-18","2023-07-19","2023-07-20","2023-07-21","2023-07-24","2023-07-25","2023-07-26","2023-07-27","2023-07-28","2023-07-31","2023-08-01","2023-08-02","2023-08-03","2023-08-04","2023-08-07","2023-08-08","2023-08-09","2023-08-10","2023-08-11","2023-08-14","2023-08-15","2023-08-16","2023-08-17","2023-08-18","2023-08-21","2023-08-22","2023-08-23","2023-08-24","2023-08-25","2023-08-28","2023-08-29","2023-08-30","2023-08-31","2023-09-01","2023-09-05","2023-09-06","2023-09-07","2023-09-08","2023-09-11","2023-09-12","2023-09-13","2023-09-14","2023-09-15","2023-09-18","2023-09-19","2023-09-20","2023-09-21","2023-09-22","2023-09-25","2023-09-26","2023-09-27","2023-09-28","2023-09-29","2023-10-02","2023-10-03","2023-10-04","2023-10-05","2023-10-06","2023-10-09","2023-10-10","2023-10-11","2023-10-12","2023-10-13","2023-10-16","2023-10-17","2023-10-18","2023-10-19","2023-10-20","2023-10-23","2023-10-24","2023-10-25","2023-10-26","2023-10-27","2023-10-30","2023-10-31","2023-11-01","2023-11-02","2023-11-03","2023-11-06","2023-11-07","2023-11-08","2023-11-09","2023-11-10","2023-11-13","2023-11-14","2023-11-15","2023-11-16","2023-11-17","2023-11-20","2023-11-21","2023-11-22","2023-11-24","2023-11-27","2023-11-28","2023-11-29","2023-11-30","2023-12-01","2023-12-04","2023-12-05","2023-12-06","2023-12-07","2023-12-08","2023-12-11","2023-12-12","2023-12-13","2023-12-14","2023-12-15","2023-12-18","2023-12-19","2023-12-20","2023-12-21","2023-12-22","2023-12-26","2023-12-27","2023-12-28","2023-12-29"],"y":[1.0,0.998935,0.986139,0.972267,0.975276,0.977079,0.990744,0.993333,0.983621,0.983967,0.97545,0.976468,0.971015,0.964236,0.965648,0.963293,0.953478,0.944851,0.968789,0.982475,0.982565,0.987506,0.979889,0.980114,0.98273,0.991852,0.997202,0.985344,0.988487,0.992244,0.99557,1.00114,1.00089,0.996786,0.991169,0.984095,0.98631,0.989158,0.996083,1.0028,1.00406,1.00698,1.00982,1.01028,1.02354,1.01668,1.00844,0.995162,0.97605,0.974645,0.988908,0.99432,0.996615,1.00457,1.00801,1.01967,1.03314,1.03206,1.02266,1.03071,1.03291,1.02585,1.02119,1.03374,1.02203,1.01601,1.01907,1.01822,1.01128,1.02052,1.02988,1.01597,1.01742,1.0132,1.01587,1.01176,0.99496,0.986324,0.973193,0.968047,0.987668,0.973747,0.96317,0.968269,0.989281,0.965583,0.968295,0.94746,0.948106,0.934376,0.916127,0.921912,0.92382,0.928705,0.909514,0.910052,0.911021,0.92656,0.924668,0.921423,0.927871,0.941752,0.934011,0.937463,0.950553,0.930956,0.9301,0.939908,0.93762,0.923406,0.918599,0.890566,0.887921,0.90168,0.895855,0.894439,0.902217,0.903354,0.906501,0.913767,0.913113,0.902375,0.906073,0.896714,0.90135,0.895147,0.88931,0.897563,0.899402,0.891381,0.891608,0.893402,0.892487,0.895322,0.888659,0.899069,0.898629,0.911657,0.910117,0.905962,0.902181,0.919813,0.927894,0.941428,0.942314,0.935466,0.951016,0.959642,0.952635,0.956342,0.958214,0.966787,0.963532,0.977173,0.972263,0.970893,0.970734,0.968325,0.958094,0.945215,0.948317,0.950666,0.958185,0.936467,0.931617,0.92124,0.913051,0.909946,0.909746,0.903575,0.912436,0.905651,0.915292,0.932135,0.902698,0.904007,0.88703,0.886119,0.895298,0.897846,0.89295,0.890368,0.875748,0.870407,0.87377,0.880164,0.862992,0.853101,0.875904,0.892186,0.889817,0.886948,0.868537,0.861038,0.856597,0.857971,0.865036,0.847699,0.85856,0.862804,0.855966,0.854049,0.872345,0.875679,0.883586,0.880027,0.868648,0.888579,0.878709,0.877807,0.861089,0.844829,0.860249,0.859368,0.873112,0.859602,0.904109,0.914402,0.912343,0.918429,0.914217,0.914568,0.912001,0.901248,0.906943,0.912488,0.906094,0.892616,0.888286,0.911384,0.922468,0.919309,0.906685,0.899593,0.900148,0.904602,0.905496,0.906156,0.918178,0.911516,0.886459,0.886795,0.880205,0.889546,0.8959,0.881395,0.882257,0.882862,0.870976,0.882506,0.885969,0.879569,0.88811,0.877594,0.899264,0.901838,0.905389,0.911388,0.918157,0.928594,0.927306,0.923854,0.933669,0.937643,0.94634,0.951877,0.953179,0.95241,0.956125,0.947735,0.95297,0.9634,0.962939,0.956199,0.951004,0.958338,0.953477,0.946286,0.948283,0.95186,0.950796,0.949829,0.945578,0.944635,0.932962,0.930657,0.931487,0.921027,0.926115,0.92758,0.926069,0.927121,0.945334,0.948853,0.933334,0.936013,0.936425,0.9442,0.962522,0.963908,0.96959,0.977484,0.993412,0.999237,0.991662,0.99886,1.00934,1.00521,0.994776,0.998441,1.00257,1.01195,1.01455,1.02205,1.03264,1.02777,1.02525,1.01438,1.01555,1.01705,1.03847,1.02608,1.02327,1.02864,1.02827,1.0285,1.01838,1.02103,1.02063,1.01713,1.02799,1.03111,1.02805,1.03783,1.04077,1.04148,1.04932,1.04995,1.05051,1.05374,1.0486,1.04531,1.04553,1.03747,1.03671,1.03398,1.04043,1.03671,1.03132,1.02688,1.02353,1.03169,1.03991,1.04075,1.05233,1.045,1.04556,1.04539,1.03461,1.04921,1.04843,1.05448,1.04874,1.05058,1.05975,1.05625,1.04998,1.04664,1.0476,1.04854,1.04632,1.05,1.05136,1.05149,1.06576,1.06293,1.05813,1.05742,1.05937,1.05503,1.0561,1.06841,1.07065,1.069,1.07714,1.08369,1.08699,1.0792,1.0745,1.0737,1.0792,1.08432,1.07142,1.08246,1.08559,1.07712,1.0671,1.06361,1.04446,1.03574,1.03402,1.02735,1.02618,1.02632,1.02836,1.02205,1.01648,1.00956,1.0108,1.01561,1.01985,1.03509,1.02389,1.0283,1.03374,1.0489,1.05869,1.05817,1.06219,1.05769,1.03906,1.02723,1.02888,1.03277,1.02246,1.01618,1.02006,1.02238,1.0329,1.03488,1.02698,1.01886,1.02283,1.02267,1.00817,0.997097,0.994708,0.989792,0.989519,0.984683,0.987553,0.989402,0.998416,1.01266,1.01026,1.01789,1.01819,1.03303,1.02973,1.0272,1.03303,1.03979,1.03549,1.03364,1.03459,1.03179,1.02296,1.03343,1.03465,1.03229,1.03776,1.04826,1.04842,1.04948,1.0529,1.04913,1.05049,1.05356,1.05326,1.06497,1.06465,1.07568,1.07557,1.07864,1.08357,1.08241,1.08259,1.08647,1.09647,1.09503,1.09367,1.1079,1.08939,1.09626,1.09607,1.10169,1.09641,1.08344,1.08667,1.10852,1.11266,1.10544,1.10444,1.1113,1.10283,1.10706,1.10743,1.11113,1.11436,1.11151,1.10803],"sx":[70.08,70.73,71.38,72.03,72.68,74.63,75.28,75.93,76.58,77.23,79.82,80.47,81.12,81.77,83.72,84.37,85.02,85.67,86.32,88.27,88.92,89.57,90.22,90.87,92.82,93.47,94.12,94.77,95.42,97.37,98.02,98.67,99.32,99.97,102.57,103.22,103.87,104.52,106.47,107.12,107.77,108.42,109.06,111.01,111.66,112.31,112.96,113.61,115.56,116.21,116.86,117.51,118.16,120.11,120.76,121.41,122.06,122.71,124.66,125.31,125.96,126.61,127.26,129.21,129.86,130.51,131.16,131.81,133.76,134.41,135.06,135.71,138.31,138.96,139.61,140.25,140.9,142.85,143.5,144.15,144.8,145.45,147.4,148.05,148.7,149.35,150.0,151.95,152.6,153.25,153.9,154.55,156.5,157.15,157.8,158.45,159.1,161.05,161.7,162.35,163.0,163.65,166.25,166.9,167.55,168.2,170.15,170.8,171.44,172.09,172.74,174.69,175.34,175.99,176.64,177.29,179.89,180.54,181.19,181.84,183.79,184.44,185.09,185.74,186.39,188.99,189.64,190.29,190.94,192.89,193.54,194.19,194.84,195.49,197.44,198.09,198.74,199.39,200.04,201.99,202.63,203.28,203.93,204.58,206.53,207.18,207.83,208.48,209.13,211.08,211.73,212.38,213.03,213.68,215.63,216.28,216.93,217.58,218.23,220.18,220.83,221.48,222.13,222.78,224.73,225.38,226.03,226.68,227.33,229.93,230.58,231.23,231.88,233.82,234.47,235.12,235.77,236.42,238.37,239.02,239.67,240.32,240.97,242.92,243.57,244.22,244.87,245.52,247.47,248.12,248.77,249.42,250.07,252.02,252.67,253.32,253.97,254.62,256.57,257.22,257.87,258.52,259.17,261.12,261.77,262.42,263.07,263.72,265.66,266.31,266.96,267.61,268.26,270.21,270.86,271.51,272.16,272.81,274.76,275.41,276.06,276.71,277.36,279.31,279.96,280.61,281.91,283.86,284.51,285.16,285.81,286.46,288.41,289.06,289.71,290.36,291.01,292.96,293.61,294.26,294.91,295.56,297.5,298.15,298.8,299.45,300.1,302.7,303.35,304.0,304.65,307.25,307.9,308.55,309.2,311.15,311.8,312.45,313.1,313.75,316.35,317.0,317.65,318.3,320.25,320.9,321.55,322.2,322.85,324.8,325.45,326.1,326.75,327.4,329.34,329.99,330.64,331.29,331.94,333.89,334.54,335.19,335.84,336.49,339.09,339.74,340.39,341.04,342.99,343.64,344.29,344.94,345.59,347.54,348.19,348.84,349.49,350.14,352.09,352.74,353.39,354.04,354.69,356.64,357.29,357.94,358.59,359.23,361.18,361.83,362.48,363.13,363.78,365.73,366.38,367.03,367.68,370.28,370.93,371.58,372.23,372.88,374.83,375.48,376.13,376.78,377.43,379.38,380.03,380.68,381.33,381.98,383.93,384.58,385.23,385.88,386.53,388.48,389.13,389.78,390.42,391.07,393.02,393.67,394.32,394.97,395.62,397.57,398.22,398.87,399.52,400.17,402.77,403.42,404.07,404.72,406.67,407.32,407.97,408.62,409.27,411.22,411.87,412.52,413.17,413.82,416.42,417.07,417.72,418.37,420.32,420.97,421.61,422.26,422.91,424.86,426.16,426.81,427.46,429.41,430.06,430.71,431.36,432.01,433.96,434.61,435.26,435.91,436.56,438.51,439.16,439.81,440.46,441.11,443.06,443.71,444.36,445.01,445.66,447.61,448.26,448.91,449.56,450.21,452.16,452.8,453.45,454.1,454.75,456.7,457.35,458.0,458.65,459.3,461.25,461.9,462.55,463.2,463.85,466.45,467.1,467.75,468.4,470.35,471.0,471.65,472.3,472.95,474.9,475.55,476.2,476.85,477.5,479.45,480.1,480.75,481.4,482.05,483.99,484.64,485.29,485.94,486.59,488.54,489.19,489.84,490.49,491.14,493.09,493.74,494.39,495.04,495.69,497.64,498.29,498.94,499.59,500.24,502.19,502.84,503.49,504.14,504.79,506.74,507.39,508.04,508.69,509.34,511.29,511.94,512.59,513.24,513.89,515.83,516.48,517.13,518.43,520.38,521.03,521.68,522.33,522.98,524.93,525.58,526.23,526.88,527.53,529.48,530.13,530.78,531.43,532.08,534.03,534.68,535.33,535.98,536.63,539.23,539.88,540.53,541.18],"sy":[113.1,113.47,117.91,122.73,121.69,121.06,116.31,115.42,118.79,118.67,121.63,121.27,123.17,125.52,125.03,125.85,129.26,132.25,123.94,119.19,119.15,117.44,120.08,120.01,119.1,115.93,114.07,118.19,117.1,115.79,114.64,112.7,112.79,114.22,116.17,118.62,117.85,116.87,114.46,112.13,111.69,110.68,109.69,109.53,104.93,107.31,110.17,114.78,121.42,121.9,116.95,115.07,114.28,111.51,110.32,106.27,101.59,101.97,105.23,102.44,101.67,104.13,105.74,101.38,105.45,107.54,106.48,106.77,109.18,105.98,102.72,107.56,107.05,108.52,107.59,109.02,114.85,117.85,122.41,124.2,117.38,122.22,125.89,124.12,116.82,125.05,124.11,131.34,131.12,135.89,142.23,140.22,139.55,137.86,144.52,144.33,144.0,138.6,139.26,140.39,138.15,133.33,136.02,134.82,130.27,137.08,137.37,133.97,134.76,139.7,141.37,151.1,152.02,147.24,149.26,149.76,147.06,146.66,145.57,143.04,143.27,147.0,145.72,148.97,147.36,149.51,151.54,148.67,148.03,150.82,150.74,150.12,150.43,149.45,151.76,148.15,148.3,143.78,144.31,145.76,147.07,140.95,138.14,133.44,133.13,135.51,130.11,127.11,129.55,128.26,127.61,124.63,125.76,121.03,122.73,123.21,123.26,124.1,127.65,132.12,131.05,130.23,127.62,135.16,136.85,140.45,143.29,144.37,144.44,146.58,143.51,145.86,142.52,136.67,146.89,146.43,152.33,152.65,149.46,148.57,150.27,151.17,156.25,158.1,156.93,154.71,160.68,164.11,156.19,150.54,151.36,152.36,158.75,161.35,162.9,162.42,159.97,165.99,162.22,160.74,163.12,163.78,157.43,156.27,153.53,154.76,158.71,151.79,155.22,155.53,161.34,166.98,161.63,161.93,157.16,161.85,146.4,142.82,143.54,141.43,142.89,142.77,143.66,147.39,145.41,143.49,145.71,150.39,151.89,143.87,140.02,141.12,145.5,147.97,147.77,146.23,145.92,145.69,141.51,143.83,152.53,152.41,154.7,151.46,149.25,154.29,153.99,153.78,157.9,153.9,152.7,154.92,151.95,155.61,148.08,147.19,145.95,143.87,141.52,137.9,138.34,139.54,136.13,134.75,131.73,129.81,129.36,129.63,128.34,131.25,129.43,125.81,125.97,128.31,130.11,127.57,129.26,131.75,131.06,129.82,130.19,130.52,132.0,132.33,136.38,137.18,136.89,140.52,138.76,138.25,138.77,138.41,132.08,130.86,136.25,135.32,135.18,132.48,126.11,125.63,123.66,120.92,115.39,113.37,116.0,113.5,109.86,111.29,114.91,113.64,112.21,108.95,108.05,105.44,101.77,103.46,104.33,108.11,107.7,107.18,99.74,104.04,105.02,103.16,103.28,103.2,106.72,105.8,105.93,107.15,103.38,102.3,103.36,99.96,98.94,98.7,95.97,95.75,95.56,94.44,96.22,97.37,97.29,100.09,100.35,101.3,99.06,100.35,102.22,103.77,104.93,102.09,99.24,98.95,94.93,97.47,97.28,97.34,101.08,96.01,96.28,94.18,96.17,95.54,92.35,93.57,95.74,96.9,96.57,96.25,97.02,95.74,95.27,95.22,90.26,91.25,92.91,93.16,92.48,93.99,93.62,89.35,88.57,89.14,86.31,84.04,82.89,85.6,87.23,87.51,85.6,83.82,88.3,84.47,83.38,86.32,89.8,91.01,97.66,100.69,101.29,103.6,104.01,103.96,103.25,105.44,107.38,109.78,109.35,107.68,106.21,100.92,104.8,103.27,101.38,96.12,92.72,92.9,91.51,93.07,99.54,103.64,103.07,101.72,105.3,107.48,106.14,105.33,101.67,100.99,103.73,106.55,105.17,105.23,110.26,114.11,114.94,116.64,116.74,118.42,117.42,116.78,113.65,108.7,109.54,106.89,106.78,101.63,102.78,103.65,101.63,99.28,100.78,101.42,101.09,102.06,105.13,101.49,101.07,101.89,99.99,96.34,96.29,95.92,94.73,96.04,95.57,94.5,94.61,90.54,90.65,86.82,86.86,85.79,84.08,84.48,84.42,83.07,79.6,80.1,80.57,75.63,82.06,79.67,79.74,77.79,79.62,84.12,83.0,75.42,73.98,76.49,76.83,74.45,77.39,75.92,75.8,74.51,73.39,74.38,75.59]},{"panel":0,"label":"equal weights, 20% each","color":"var(--chart-blue, #3b6ea5)","x":["2022-01-03","2022-01-04","2022-01-05","2022-01-06","2022-01-07","2022-01-10","2022-01-11","2022-01-12","2022-01-13","2022-01-14","2022-01-18","2022-01-19","2022-01-20","2022-01-21","2022-01-24","2022-01-25","2022-01-26","2022-01-27","2022-01-28","2022-01-31","2022-02-01","2022-02-02","2022-02-03","2022-02-04","2022-02-07","2022-02-08","2022-02-09","2022-02-10","2022-02-11","2022-02-14","2022-02-15","2022-02-16","2022-02-17","2022-02-18","2022-02-22","2022-02-23","2022-02-24","2022-02-25","2022-02-28","2022-03-01","2022-03-02","2022-03-03","2022-03-04","2022-03-07","2022-03-08","2022-03-09","2022-03-10","2022-03-11","2022-03-14","2022-03-15","2022-03-16","2022-03-17","2022-03-18","2022-03-21","2022-03-22","2022-03-23","2022-03-24","2022-03-25","2022-03-28","2022-03-29","2022-03-30","2022-03-31","2022-04-01","2022-04-04","2022-04-05","2022-04-06","2022-04-07","2022-04-08","2022-04-11","2022-04-12","2022-04-13","2022-04-14","2022-04-18","2022-04-19","2022-04-20","2022-04-21","2022-04-22","2022-04-25","2022-04-26","2022-04-27","2022-04-28","2022-04-29","2022-05-02","2022-05-03","2022-05-04","2022-05-05","2022-05-06","2022-05-09","2022-05-10","2022-05-11","2022-05-12","2022-05-13","2022-05-16","2022-05-17","2022-05-18","2022-05-19","2022-05-20","2022-05-23","2022-05-24","2022-05-25","2022-05-26","2022-05-27","2022-05-31","2022-06-01","2022-06-02","2022-06-03","2022-06-06","2022-06-07","2022-06-08","2022-06-09","2022-06-10","2022-06-13","2022-06-14","2022-06-15","2022-06-16","2022-06-17","2022-06-21","2022-06-22","2022-06-23","2022-06-24","2022-06-27","2022-06-28","2022-06-29","2022-06-30","2022-07-01","2022-07-05","2022-07-06","2022-07-07","2022-07-08","2022-07-11","2022-07-12","2022-07-13","2022-07-14","2022-07-15","2022-07-18","2022-07-19","2022-07-20","2022-07-21","2022-07-22","2022-07-25","2022-07-26","2022-07-27","2022-07-28","2022-07-29","2022-08-01","2022-08-02","2022-08-03","2022-08-04","2022-08-05","2022-08-08","2022-08-09","2022-08-10","2022-08-11","2022-08-12","2022-08-15","2022-08-16","2022-08-17","2022-08-18","2022-08-19","2022-08-22","2022-08-23","2022-08-24","2022-08-25","2022-08-26","2022-08-29","2022-08-30","2022-08-31","2022-09-01","2022-09-02","2022-09-06","2022-09-07","2022-09-08","2022-09-09","2022-09-12","2022-09-13","2022-09-14","2022-09-15","2022-09-16","2022-09-19","2022-09-20","2022-09-21","2022-09-22","2022-09-23","2022-09-26","2022-09-27","2022-09-28","2022-09-29","2022-09-30","2022-10-03","2022-10-04","2022-10-05","2022-10-06","2022-10-07","2022-10-10","2022-10-11","2022-10-12","2022-10-13","2022-10-14","2022-10-17","2022-10-18","2022-10-19","2022-10-20","2022-10-21","2022-10-24","2022-10-25","2022-10-26","2022-10-27","2022-10-28","2022-10-31","2022-11-01","2022-11-02","2022-11-03","2022-11-04","2022-11-07","2022-11-08","2022-11-09","2022-11-10","2022-11-11","2022-11-14","2022-11-15","2022-11-16","2022-11-17","2022-11-18","2022-11-21","2022-11-22","2022-11-23","2022-11-25","2022-11-28","2022-11-29","2022-11-30","2022-12-01","2022-12-02","2022-12-05","2022-12-06","2022-12-07","2022-12-08","2022-12-09","2022-12-12","2022-12-13","2022-12-14","2022-12-15","2022-12-16","2022-12-19","2022-12-20","2022-12-21","2022-12-22","2022-12-23","2022-12-27","2022-12-28","2022-12-29","2022-12-30","2023-01-03","2023-01-04","2023-01-05","2023-01-06","2023-01-09","2023-01-10","2023-01-11","2023-01-12","2023-01-13","2023-01-17","2023-01-18","2023-01-19","2023-01-20","2023-01-23","2023-01-24","2023-01-25","2023-01-26","2023-01-27","2023-01-30","2023-01-31","2023-02-01","2023-02-02","2023-02-03","2023-02-06","2023-02-07","2023-02-08","2023-02-09","2023-02-10","2023-02-13","2023-02-14","2023-02-15","2023-02-16","2023-02-17","2023-02-21","2023-02-22","2023-02-23","2023-02-24","2023-02-27","2023-02-28","2023-03-01","2023-03-02","2023-03-03","2023-03-06","2023-03-07","2023-03-08","2023-03-09","2023-03-10","2023-03-13","2023-03-14","2023-03-15","2023-03-16","2023-03-17","2023-03-20","2023-03-21","2023-03-22","2023-03-23","2023-03-24","2023-03-27","2023-03-28","2023-03-29","2023-03-30","2023-03-31","2023-04-03","2023-04-04","2023-04-05","2023-04-06","2023-04-10","2023-04-11","2023-04-12","2023-04-13","2023-04-14","2023-04-17","2023-04-18","2023-04-19","2023-04-20","2023-04-21","2023-04-24","2023-04-25","2023-04-26","2023-04-27","2023-04-28","2023-05-01","2023-05-02","2023-05-03","2023-05-04","2023-05-05","2023-05-08","2023-05-09","2023-05-10","2023-05-11","2023-05-12","2023-05-15","2023-05-16","2023-05-17","2023-05-18","2023-05-19","2023-05-22","2023-05-23","2023-05-24","2023-05-25","2023-05-26","2023-05-30","2023-05-31","2023-06-01","2023-06-02","2023-06-05","2023-06-06","2023-06-07","2023-06-08","2023-06-09","2023-06-12","2023-06-13","2023-06-14","2023-06-15","2023-06-16","2023-06-20","2023-06-21","2023-06-22","2023-06-23","2023-06-26","2023-06-27","2023-06-28","2023-06-29","2023-06-30","2023-07-03","2023-07-05","2023-07-06","2023-07-07","2023-07-10","2023-07-11","2023-07-12","2023-07-13","2023-07-14","2023-07-17","2023-07-18","2023-07-19","2023-07-20","2023-07-21","2023-07-24","2023-07-25","2023-07-26","2023-07-27","2023-07-28","2023-07-31","2023-08-01","2023-08-02","2023-08-03","2023-08-04","2023-08-07","2023-08-08","2023-08-09","2023-08-10","2023-08-11","2023-08-14","2023-08-15","2023-08-16","2023-08-17","2023-08-18","2023-08-21","2023-08-22","2023-08-23","2023-08-24","2023-08-25","2023-08-28","2023-08-29","2023-08-30","2023-08-31","2023-09-01","2023-09-05","2023-09-06","2023-09-07","2023-09-08","2023-09-11","2023-09-12","2023-09-13","2023-09-14","2023-09-15","2023-09-18","2023-09-19","2023-09-20","2023-09-21","2023-09-22","2023-09-25","2023-09-26","2023-09-27","2023-09-28","2023-09-29","2023-10-02","2023-10-03","2023-10-04","2023-10-05","2023-10-06","2023-10-09","2023-10-10","2023-10-11","2023-10-12","2023-10-13","2023-10-16","2023-10-17","2023-10-18","2023-10-19","2023-10-20","2023-10-23","2023-10-24","2023-10-25","2023-10-26","2023-10-27","2023-10-30","2023-10-31","2023-11-01","2023-11-02","2023-11-03","2023-11-06","2023-11-07","2023-11-08","2023-11-09","2023-11-10","2023-11-13","2023-11-14","2023-11-15","2023-11-16","2023-11-17","2023-11-20","2023-11-21","2023-11-22","2023-11-24","2023-11-27","2023-11-28","2023-11-29","2023-11-30","2023-12-01","2023-12-04","2023-12-05","2023-12-06","2023-12-07","2023-12-08","2023-12-11","2023-12-12","2023-12-13","2023-12-14","2023-12-15","2023-12-18","2023-12-19","2023-12-20","2023-12-21","2023-12-22","2023-12-26","2023-12-27","2023-12-28","2023-12-29"],"y":[1.0,1.01397,1.00306,1.00432,1.00843,1.00773,1.02437,1.02645,1.01751,1.00901,0.997208,0.99168,0.986109,0.972792,0.975609,0.980694,0.976161,0.971889,0.990109,1.00412,1.02388,1.02563,1.01311,1.02423,1.02803,1.03055,1.0352,1.02318,1.02325,1.01832,1.02324,1.02679,1.01678,1.01181,1.00382,0.993938,0.989929,1.00625,1.00242,0.997108,1.00972,1.01011,1.01355,1.01038,1.01403,1.00852,1.00974,0.996655,0.979451,0.9722,0.988882,1.00204,1.00483,1.01861,1.02558,1.02816,1.03871,1.04678,1.03624,1.04139,1.04428,1.02889,1.02816,1.03624,1.02542,1.02108,1.02713,1.03441,1.01737,1.02419,1.02889,1.02199,1.02773,1.03077,1.03271,1.02402,1.00102,0.990226,0.974041,0.97816,1.00205,0.9776,0.980143,0.992059,1.02288,0.997096,1.00136,0.961718,0.961129,0.955997,0.949463,0.966323,0.971501,0.986406,0.963009,0.96048,0.962057,0.987779,0.988867,0.996468,1.00687,1.02296,1.01516,1.01791,1.02854,1.01939,1.01851,1.03932,1.03773,1.01647,0.995024,0.958263,0.955526,0.961123,0.938481,0.921334,0.94995,0.937445,0.930863,0.949162,0.953977,0.952885,0.943053,0.926415,0.938313,0.92792,0.921019,0.939457,0.94016,0.931551,0.926969,0.926386,0.916174,0.931473,0.930443,0.950057,0.95467,0.957757,0.952421,0.96075,0.953661,0.974136,0.982112,1.00533,0.995487,0.987957,0.989557,0.978424,0.983991,0.984747,0.991292,1.00578,1.01514,1.02909,1.02343,1.02195,1.02216,1.02761,1.01607,1.00402,1.01606,1.01976,1.03071,1.00641,1.00988,0.991342,0.983529,0.978608,0.980696,0.975515,0.982068,0.986283,0.998998,1.01388,0.980574,0.989359,0.973714,0.96538,0.972293,0.966603,0.952052,0.946668,0.920003,0.908004,0.913595,0.931083,0.91675,0.903116,0.935318,0.964102,0.97374,0.977482,0.959002,0.946969,0.937442,0.940723,0.967072,0.949783,0.969245,0.977327,0.980621,0.978478,1.00378,1.01012,1.01436,1.01689,1.01267,1.03881,1.03359,1.03821,1.01768,1.0137,1.02957,1.03615,1.04321,1.01507,1.05479,1.0723,1.06903,1.07434,1.06745,1.0674,1.0659,1.05594,1.07386,1.07708,1.07296,1.05023,1.05273,1.07274,1.07228,1.06639,1.04389,1.02843,1.02687,1.03452,1.02962,1.04392,1.05328,1.04576,1.02338,1.01749,1.0157,1.0249,1.03683,1.01946,1.03053,1.03507,1.02273,1.03433,1.03992,1.02445,1.03166,1.03354,1.05377,1.04725,1.05669,1.06721,1.07601,1.08497,1.08101,1.0639,1.06608,1.07839,1.08528,1.09239,1.09159,1.10983,1.10551,1.09132,1.10511,1.10626,1.0977,1.09989,1.09663,1.11499,1.10598,1.10022,1.118,1.12258,1.1182,1.1187,1.11065,1.0954,1.08294,1.07592,1.08201,1.07742,1.08104,1.08018,1.08058,1.08221,1.10074,1.10515,1.08382,1.07898,1.06291,1.06235,1.06187,1.07135,1.04667,1.05442,1.04742,1.06208,1.08176,1.06849,1.06856,1.06656,1.07476,1.08031,1.09154,1.09751,1.10418,1.12896,1.12558,1.12962,1.12312,1.11761,1.12117,1.12034,1.13412,1.14285,1.1395,1.15126,1.15,1.14522,1.14224,1.1509,1.13799,1.12935,1.14486,1.15435,1.14481,1.12785,1.11637,1.10623,1.12661,1.12869,1.12683,1.12479,1.11578,1.11156,1.11422,1.1006,1.11565,1.12166,1.12487,1.11759,1.11581,1.11542,1.11014,1.11535,1.1164,1.10723,1.12013,1.13219,1.12827,1.13168,1.13657,1.14247,1.14035,1.14172,1.14221,1.13831,1.14892,1.14443,1.13236,1.13348,1.12996,1.12483,1.12961,1.13463,1.13759,1.14908,1.16198,1.16298,1.1576,1.14088,1.143,1.1475,1.15612,1.16509,1.16207,1.15062,1.16128,1.16373,1.16882,1.17267,1.17071,1.18095,1.18264,1.18397,1.17666,1.18013,1.19339,1.18657,1.17272,1.17786,1.16816,1.16609,1.16557,1.16485,1.16601,1.17281,1.1758,1.15607,1.14555,1.14582,1.15243,1.15192,1.14721,1.15385,1.14304,1.1527,1.15998,1.17289,1.18095,1.1792,1.18989,1.18549,1.17867,1.16888,1.17563,1.17455,1.18263,1.17661,1.19075,1.18232,1.19053,1.18986,1.18035,1.16694,1.16692,1.17331,1.16293,1.17254,1.17277,1.16109,1.15353,1.14828,1.13729,1.13061,1.13346,1.15216,1.1517,1.1429,1.14162,1.15953,1.16037,1.16342,1.16564,1.16565,1.15154,1.1426,1.14109,1.13645,1.12713,1.11681,1.12335,1.12586,1.12978,1.15288,1.15196,1.14856,1.1454,1.1412,1.1396,1.15032,1.15235,1.16572,1.16577,1.16851,1.17897,1.18112,1.18159,1.1811,1.18304,1.18145,1.18554,1.18034,1.18448,1.19279,1.18443,1.18122,1.17334,1.17567,1.18123,1.17775,1.17679,1.19173,1.20671,1.20304,1.20718,1.21856,1.20383,1.20997,1.21065,1.21471,1.21593,1.21136,1.20827],"sx":[70.08,70.73,71.38,72.03,72.68,74.63,75.28,75.93,76.58,77.23,79.82,80.47,81.12,81.77,83.72,84.37,85.02,85.67,86.32,88.27,88.92,89.57,90.22,90.87,92.82,93.47,94.12,94.77,95.42,97.37,98.02,98.67,99.32,99.97,102.57,103.22,103.87,104.52,106.47,107.12,107.77,108.42,109.06,111.01,111.66,112.31,112.96,113.61,115.56,116.21,116.86,117.51,118.16,120.11,120.76,121.41,122.06,122.71,124.66,125.31,125.96,126.61,127.26,129.21,129.86,130.51,131.16,131.81,133.76,134.41,135.06,135.71,138.31,138.96,139.61,140.25,140.9,142.85,143.5,144.15,144.8,145.45,147.4,148.05,148.7,149.35,150.0,151.95,152.6,153.25,153.9,154.55,156.5,157.15,157.8,158.45,159.1,161.05,161.7,162.35,163.0,163.65,166.25,166.9,167.55,168.2,170.15,170.8,171.44,172.09,172.74,174.69,175.34,175.99,176.64,177.29,179.89,180.54,181.19,181.84,183.79,184.44,185.09,185.74,186.39,188.99,189.64,190.29,190.94,192.89,193.54,194.19,194.84,195.49,197.44,198.09,198.74,199.39,200.04,201.99,202.63,203.28,203.93,204.58,206.53,207.18,207.83,208.48,209.13,211.08,211.73,212.38,213.03,213.68,215.63,216.28,216.93,217.58,218.23,220.18,220.83,221.48,222.13,222.78,224.73,225.38,226.03,226.68,227.33,229.93,230.58,231.23,231.88,233.82,234.47,235.12,235.77,236.42,238.37,239.02,239.67,240.32,240.97,242.92,243.57,244.22,244.87,245.52,247.47,248.12,248.77,249.42,250.07,252.02,252.67,253.32,253.97,254.62,256.57,257.22,257.87,258.52,259.17,261.12,261.77,262.42,263.07,263.72,265.66,266.31,266.96,267.61,268.26,270.21,270.86,271.51,272.16,272.81,274.76,275.41,276.06,276.71,277.36,279.31,279.96,280.61,281.91,283.86,284.51,285.16,285.81,286.46,288.41,289.06,289.71,290.36,291.01,292.96,293.61,294.26,294.91,295.56,297.5,298.15,298.8,299.45,300.1,302.7,303.35,304.0,304.65,307.25,307.9,308.55,309.2,311.15,311.8,312.45,313.1,313.75,316.35,317.0,317.65,318.3,320.25,320.9,321.55,322.2,322.85,324.8,325.45,326.1,326.75,327.4,329.34,329.99,330.64,331.29,331.94,333.89,334.54,335.19,335.84,336.49,339.09,339.74,340.39,341.04,342.99,343.64,344.29,344.94,345.59,347.54,348.19,348.84,349.49,350.14,352.09,352.74,353.39,354.04,354.69,356.64,357.29,357.94,358.59,359.23,361.18,361.83,362.48,363.13,363.78,365.73,366.38,367.03,367.68,370.28,370.93,371.58,372.23,372.88,374.83,375.48,376.13,376.78,377.43,379.38,380.03,380.68,381.33,381.98,383.93,384.58,385.23,385.88,386.53,388.48,389.13,389.78,390.42,391.07,393.02,393.67,394.32,394.97,395.62,397.57,398.22,398.87,399.52,400.17,402.77,403.42,404.07,404.72,406.67,407.32,407.97,408.62,409.27,411.22,411.87,412.52,413.17,413.82,416.42,417.07,417.72,418.37,420.32,420.97,421.61,422.26,422.91,424.86,426.16,426.81,427.46,429.41,430.06,430.71,431.36,432.01,433.96,434.61,435.26,435.91,436.56,438.51,439.16,439.81,440.46,441.11,443.06,443.71,444.36,445.01,445.66,447.61,448.26,448.91,449.56,450.21,452.16,452.8,453.45,454.1,454.75,456.7,457.35,458.0,458.65,459.3,461.25,461.9,462.55,463.2,463.85,466.45,467.1,467.75,468.4,470.35,471.0,471.65,472.3,472.95,474.9,475.55,476.2,476.85,477.5,479.45,480.1,480.75,481.4,482.05,483.99,484.64,485.29,485.94,486.59,488.54,489.19,489.84,490.49,491.14,493.09,493.74,494.39,495.04,495.69,497.64,498.29,498.94,499.59,500.24,502.19,502.84,503.49,504.14,504.79,506.74,507.39,508.04,508.69,509.34,511.29,511.94,512.59,513.24,513.89,515.83,516.48,517.13,518.43,520.38,521.03,521.68,522.33,522.98,524.93,525.58,526.23,526.88,527.53,529.48,530.13,530.78,531.43,532.08,534.03,534.68,535.33,535.98,536.63,539.23,539.88,540.53,541.18],"sy":[113.1,108.25,112.04,111.6,110.17,110.42,104.64,103.92,107.02,109.97,114.07,115.99,117.92,122.55,121.57,119.8,121.38,122.86,116.53,111.67,104.81,104.2,108.55,104.69,103.37,102.49,100.88,105.05,105.03,106.74,105.03,103.8,107.27,109.0,111.77,115.21,116.6,110.93,112.26,114.1,109.72,109.59,108.4,109.49,108.23,110.14,109.72,114.26,120.24,122.75,116.96,112.39,111.42,106.64,104.22,103.32,99.66,96.86,100.51,98.73,97.72,103.07,103.32,100.52,104.27,105.78,103.68,101.15,107.07,104.7,103.07,105.46,103.47,102.42,101.74,104.76,112.74,116.49,122.11,120.68,112.39,120.88,120.0,115.86,105.15,114.11,112.63,126.39,126.6,128.38,130.65,124.79,123.0,117.82,125.95,126.82,126.28,117.34,116.97,114.33,110.72,105.13,107.84,106.88,103.19,106.37,106.67,99.45,100.0,107.38,114.83,127.59,128.54,126.6,134.46,140.42,130.48,134.82,137.11,130.75,129.08,129.46,132.87,138.65,134.52,138.13,140.53,134.12,133.88,136.87,138.46,138.66,142.21,136.9,137.25,130.44,128.84,127.77,129.62,126.73,129.19,122.08,119.31,111.25,114.67,117.28,116.73,120.59,118.66,118.4,116.12,111.09,107.84,103.0,104.96,105.48,105.41,103.51,107.52,111.71,107.52,106.24,102.44,110.87,109.67,116.11,118.82,120.53,119.8,121.6,119.33,117.86,113.45,108.28,119.85,116.8,122.23,125.12,122.72,124.7,129.75,131.62,140.88,145.05,143.1,137.03,142.01,146.74,135.56,125.57,122.22,120.92,127.34,131.52,134.82,133.68,124.53,130.54,123.78,120.97,119.83,120.57,111.79,109.59,108.11,107.24,108.7,99.62,101.44,99.83,106.96,108.34,102.83,100.55,98.1,107.87,94.08,87.99,89.13,87.29,89.68,89.7,90.22,93.67,87.45,86.33,87.77,95.66,94.79,87.84,88.0,90.05,97.86,103.23,103.77,101.11,102.81,97.85,94.6,97.21,104.98,107.03,107.65,104.45,100.31,106.34,102.5,100.92,105.21,101.18,99.24,104.61,102.11,101.45,94.43,96.69,93.41,89.76,86.71,83.59,84.97,90.91,90.15,85.88,83.49,81.02,81.29,74.96,76.46,81.39,76.6,76.2,79.17,78.41,79.54,73.17,76.3,78.3,72.13,70.53,72.06,71.88,74.68,79.97,84.3,86.74,84.62,86.22,84.96,85.26,85.12,84.55,78.12,76.59,83.99,85.67,91.26,91.45,91.62,88.32,96.89,94.2,96.63,91.54,84.71,89.32,89.29,89.99,87.14,85.21,81.31,79.24,76.92,68.32,69.49,68.09,70.35,72.26,71.02,71.31,66.53,63.49,64.66,60.57,61.01,62.67,63.71,60.7,65.18,68.18,62.8,59.5,62.81,68.7,72.69,76.21,69.14,68.41,69.06,69.77,72.9,74.36,73.44,78.17,72.94,70.85,69.74,72.27,72.88,73.02,74.85,73.05,72.68,75.87,71.38,67.2,68.56,67.37,65.68,63.63,64.36,63.89,63.72,65.07,61.39,62.95,67.14,66.75,67.97,69.75,68.09,66.35,65.32,61.33,56.85,56.51,58.37,64.18,63.44,61.88,58.89,55.77,56.82,60.8,57.1,56.24,54.48,53.14,53.82,50.26,49.68,49.22,51.75,50.55,45.95,48.31,53.12,51.34,54.71,55.42,55.61,55.86,55.45,53.09,52.05,58.9,62.56,62.46,60.17,60.35,61.98,59.68,63.43,60.07,57.55,53.06,50.27,50.87,47.16,48.69,51.06,54.46,52.11,52.49,49.68,51.77,46.86,49.79,46.94,47.17,50.47,55.13,55.14,52.92,56.52,53.19,53.11,57.16,59.79,61.61,65.43,67.75,66.76,60.26,60.42,63.48,63.92,57.7,57.41,56.35,55.58,55.58,60.48,63.58,64.11,65.72,68.95,72.54,70.27,69.4,68.03,60.01,60.33,61.51,62.61,64.07,64.63,60.9,60.2,55.55,55.54,54.58,50.95,50.2,50.04,50.21,49.54,50.09,48.67,50.48,49.04,46.15,49.06,50.17,52.91,52.1,50.17,51.38,51.71,46.52,41.32,42.59,41.16,37.21,42.32,40.19,39.95,38.54,38.12,39.71,40.78]},{"panel":0,"label":"SPY","color":"var(--chart-grey, #a3a19c)","x":["2022-01-03","2022-01-04","2022-01-05","2022-01-06","2022-01-07","2022-01-10","2022-01-11","2022-01-12","2022-01-13","2022-01-14","2022-01-18","2022-01-19","2022-01-20","2022-01-21","2022-01-24","2022-01-25","2022-01-26","2022-01-27","2022-01-28","2022-01-31","2022-02-01","2022-02-02","2022-02-03","2022-02-04","2022-02-07","2022-02-08","2022-02-09","2022-02-10","2022-02-11","2022-02-14","2022-02-15","2022-02-16","2022-02-17","2022-02-18","2022-02-22","2022-02-23","2022-02-24","2022-02-25","2022-02-28","2022-03-01","2022-03-02","2022-03-03","2022-03-04","2022-03-07","2022-03-08","2022-03-09","2022-03-10","2022-03-11","2022-03-14","2022-03-15","2022-03-16","2022-03-17","2022-03-18","2022-03-21","2022-03-22","2022-03-23","2022-03-24","2022-03-25","2022-03-28","2022-03-29","2022-03-30","2022-03-31","2022-04-01","2022-04-04","2022-04-05","2022-04-06","2022-04-07","2022-04-08","2022-04-11","2022-04-12","2022-04-13","2022-04-14","2022-04-18","2022-04-19","2022-04-20","2022-04-21","2022-04-22","2022-04-25","2022-04-26","2022-04-27","2022-04-28","2022-04-29","2022-05-02","2022-05-03","2022-05-04","2022-05-05","2022-05-06","2022-05-09","2022-05-10","2022-05-11","2022-05-12","2022-05-13","2022-05-16","2022-05-17","2022-05-18","2022-05-19","2022-05-20","2022-05-23","2022-05-24","2022-05-25","2022-05-26","2022-05-27","2022-05-31","2022-06-01","2022-06-02","2022-06-03","2022-06-06","2022-06-07","2022-06-08","2022-06-09","2022-06-10","2022-06-13","2022-06-14","2022-06-15","2022-06-16","2022-06-17","2022-06-21","2022-06-22","2022-06-23","2022-06-24","2022-06-27","2022-06-28","2022-06-29","2022-06-30","2022-07-01","2022-07-05","2022-07-06","2022-07-07","2022-07-08","2022-07-11","2022-07-12","2022-07-13","2022-07-14","2022-07-15","2022-07-18","2022-07-19","2022-07-20","2022-07-21","2022-07-22","2022-07-25","2022-07-26","2022-07-27","2022-07-28","2022-07-29","2022-08-01","2022-08-02","2022-08-03","2022-08-04","2022-08-05","2022-08-08","2022-08-09","2022-08-10","2022-08-11","2022-08-12","2022-08-15","2022-08-16","2022-08-17","2022-08-18","2022-08-19","2022-08-22","2022-08-23","2022-08-24","2022-08-25","2022-08-26","2022-08-29","2022-08-30","2022-08-31","2022-09-01","2022-09-02","2022-09-06","2022-09-07","2022-09-08","2022-09-09","2022-09-12","2022-09-13","2022-09-14","2022-09-15","2022-09-16","2022-09-19","2022-09-20","2022-09-21","2022-09-22","2022-09-23","2022-09-26","2022-09-27","2022-09-28","2022-09-29","2022-09-30","2022-10-03","2022-10-04","2022-10-05","2022-10-06","2022-10-07","2022-10-10","2022-10-11","2022-10-12","2022-10-13","2022-10-14","2022-10-17","2022-10-18","2022-10-19","2022-10-20","2022-10-21","2022-10-24","2022-10-25","2022-10-26","2022-10-27","2022-10-28","2022-10-31","2022-11-01","2022-11-02","2022-11-03","2022-11-04","2022-11-07","2022-11-08","2022-11-09","2022-11-10","2022-11-11","2022-11-14","2022-11-15","2022-11-16","2022-11-17","2022-11-18","2022-11-21","2022-11-22","2022-11-23","2022-11-25","2022-11-28","2022-11-29","2022-11-30","2022-12-01","2022-12-02","2022-12-05","2022-12-06","2022-12-07","2022-12-08","2022-12-09","2022-12-12","2022-12-13","2022-12-14","2022-12-15","2022-12-16","2022-12-19","2022-12-20","2022-12-21","2022-12-22","2022-12-23","2022-12-27","2022-12-28","2022-12-29","2022-12-30","2023-01-03","2023-01-04","2023-01-05","2023-01-06","2023-01-09","2023-01-10","2023-01-11","2023-01-12","2023-01-13","2023-01-17","2023-01-18","2023-01-19","2023-01-20","2023-01-23","2023-01-24","2023-01-25","2023-01-26","2023-01-27","2023-01-30","2023-01-31","2023-02-01","2023-02-02","2023-02-03","2023-02-06","2023-02-07","2023-02-08","2023-02-09","2023-02-10","2023-02-13","2023-02-14","2023-02-15","2023-02-16","2023-02-17","2023-02-21","2023-02-22","2023-02-23","2023-02-24","2023-02-27","2023-02-28","2023-03-01","2023-03-02","2023-03-03","2023-03-06","2023-03-07","2023-03-08","2023-03-09","2023-03-10","2023-03-13","2023-03-14","2023-03-15","2023-03-16","2023-03-17","2023-03-20","2023-03-21","2023-03-22","2023-03-23","2023-03-24","2023-03-27","2023-03-28","2023-03-29","2023-03-30","2023-03-31","2023-04-03","2023-04-04","2023-04-05","2023-04-06","2023-04-10","2023-04-11","2023-04-12","2023-04-13","2023-04-14","2023-04-17","2023-04-18","2023-04-19","2023-04-20","2023-04-21","2023-04-24","2023-04-25","2023-04-26","2023-04-27","2023-04-28","2023-05-01","2023-05-02","2023-05-03","2023-05-04","2023-05-05","2023-05-08","2023-05-09","2023-05-10","2023-05-11","2023-05-12","2023-05-15","2023-05-16","2023-05-17","2023-05-18","2023-05-19","2023-05-22","2023-05-23","2023-05-24","2023-05-25","2023-05-26","2023-05-30","2023-05-31","2023-06-01","2023-06-02","2023-06-05","2023-06-06","2023-06-07","2023-06-08","2023-06-09","2023-06-12","2023-06-13","2023-06-14","2023-06-15","2023-06-16","2023-06-20","2023-06-21","2023-06-22","2023-06-23","2023-06-26","2023-06-27","2023-06-28","2023-06-29","2023-06-30","2023-07-03","2023-07-05","2023-07-06","2023-07-07","2023-07-10","2023-07-11","2023-07-12","2023-07-13","2023-07-14","2023-07-17","2023-07-18","2023-07-19","2023-07-20","2023-07-21","2023-07-24","2023-07-25","2023-07-26","2023-07-27","2023-07-28","2023-07-31","2023-08-01","2023-08-02","2023-08-03","2023-08-04","2023-08-07","2023-08-08","2023-08-09","2023-08-10","2023-08-11","2023-08-14","2023-08-15","2023-08-16","2023-08-17","2023-08-18","2023-08-21","2023-08-22","2023-08-23","2023-08-24","2023-08-25","2023-08-28","2023-08-29","2023-08-30","2023-08-31","2023-09-01","2023-09-05","2023-09-06","2023-09-07","2023-09-08","2023-09-11","2023-09-12","2023-09-13","2023-09-14","2023-09-15","2023-09-18","2023-09-19","2023-09-20","2023-09-21","2023-09-22","2023-09-25","2023-09-26","2023-09-27","2023-09-28","2023-09-29","2023-10-02","2023-10-03","2023-10-04","2023-10-05","2023-10-06","2023-10-09","2023-10-10","2023-10-11","2023-10-12","2023-10-13","2023-10-16","2023-10-17","2023-10-18","2023-10-19","2023-10-20","2023-10-23","2023-10-24","2023-10-25","2023-10-26","2023-10-27","2023-10-30","2023-10-31","2023-11-01","2023-11-02","2023-11-03","2023-11-06","2023-11-07","2023-11-08","2023-11-09","2023-11-10","2023-11-13","2023-11-14","2023-11-15","2023-11-16","2023-11-17","2023-11-20","2023-11-21","2023-11-22","2023-11-24","2023-11-27","2023-11-28","2023-11-29","2023-11-30","2023-12-01","2023-12-04","2023-12-05","2023-12-06","2023-12-07","2023-12-08","2023-12-11","2023-12-12","2023-12-13","2023-12-14","2023-12-15","2023-12-18","2023-12-19","2023-12-20","2023-12-21","2023-12-22","2023-12-26","2023-12-27","2023-12-28","2023-12-29"],"y":[1.0,0.999665,0.980469,0.979548,0.975676,0.974461,0.983337,0.985996,0.97241,0.972808,0.95558,0.945657,0.935191,0.916832,0.920726,0.909485,0.907203,0.902723,0.925143,0.941806,0.948169,0.95738,0.934877,0.939273,0.936258,0.943962,0.957778,0.94057,0.922024,0.919009,0.93383,0.934877,0.914907,0.908982,0.899228,0.883276,0.896569,0.916351,0.914006,0.900086,0.916644,0.91208,0.90467,0.878001,0.871344,0.894706,0.890666,0.879341,0.872915,0.89211,0.911892,0.9233,0.933413,0.933141,0.94406,0.931902,0.945949,0.950569,0.95733,0.969173,0.963189,0.948364,0.951052,0.959199,0.947083,0.937613,0.942338,0.939818,0.923754,0.920332,0.930873,0.919282,0.91966,0.934505,0.933812,0.919848,0.894609,0.899795,0.873736,0.876193,0.898325,0.865127,0.870335,0.874324,0.90095,0.868928,0.863741,0.836087,0.838018,0.824706,0.823844,0.843541,0.840118,0.8574,0.822837,0.817797,0.818154,0.833462,0.8271,0.834407,0.851079,0.871973,0.86708,0.860067,0.876445,0.862062,0.864686,0.872981,0.863489,0.842953,0.818511,0.787434,0.785061,0.796253,0.7699,0.77156,0.790983,0.789549,0.797288,0.822637,0.819495,0.80275,0.802097,0.79558,0.803995,0.805513,0.808233,0.820338,0.819664,0.8103,0.80313,0.798912,0.796972,0.812198,0.805492,0.827256,0.832528,0.841006,0.833203,0.834215,0.824345,0.845751,0.856358,0.868843,0.86627,0.860555,0.874031,0.87344,0.871964,0.870952,0.867494,0.885714,0.885714,0.900709,0.90442,0.906192,0.89976,0.902375,0.890249,0.871711,0.869602,0.872386,0.884702,0.854756,0.849104,0.839783,0.833393,0.836008,0.827192,0.824071,0.838876,0.844359,0.857476,0.866692,0.829006,0.832169,0.822722,0.816445,0.822777,0.813332,0.799145,0.792432,0.779155,0.771447,0.769478,0.784618,0.768229,0.756349,0.776318,0.800373,0.79851,0.790272,0.768229,0.762363,0.757535,0.755036,0.774962,0.757302,0.776762,0.785889,0.78032,0.773777,0.79258,0.802279,0.81509,0.808949,0.804629,0.823772,0.817822,0.814243,0.793809,0.785635,0.796943,0.804566,0.808907,0.792242,0.835779,0.843868,0.836689,0.843825,0.837388,0.834826,0.838616,0.835567,0.846811,0.852147,0.851957,0.838362,0.836922,0.863286,0.86265,0.861655,0.846154,0.833957,0.832539,0.839061,0.832793,0.844799,0.851194,0.845752,0.825064,0.815323,0.808409,0.809515,0.82162,0.809898,0.814557,0.811345,0.801261,0.815685,0.813536,0.810111,0.816365,0.807048,0.825555,0.825087,0.830873,0.841382,0.844445,0.847721,0.846168,0.832809,0.826746,0.842148,0.852253,0.851338,0.851657,0.861017,0.862995,0.852167,0.864697,0.873887,0.886608,0.877184,0.871823,0.883226,0.873568,0.865995,0.868016,0.878205,0.877801,0.880652,0.868526,0.866356,0.848976,0.847806,0.852316,0.843211,0.846083,0.842956,0.839723,0.846253,0.859825,0.860421,0.847232,0.848615,0.832958,0.820939,0.819769,0.83332,0.828108,0.842637,0.832784,0.840792,0.851832,0.837311,0.839575,0.845084,0.846665,0.844764,0.857042,0.862061,0.874211,0.877542,0.872674,0.870389,0.873784,0.874681,0.874916,0.87135,0.882924,0.880767,0.883927,0.884504,0.884354,0.879528,0.880212,0.88113,0.867143,0.86347,0.88066,0.888177,0.88728,0.877308,0.871286,0.865114,0.88113,0.881365,0.8775,0.8816,0.880062,0.878909,0.881941,0.876047,0.886682,0.895223,0.893921,0.894284,0.884248,0.877841,0.885443,0.89691,0.897252,0.892277,0.900754,0.91378,0.912029,0.914015,0.910855,0.916364,0.918008,0.926336,0.932444,0.933554,0.945128,0.941908,0.937022,0.932221,0.935586,0.928513,0.924719,0.934857,0.935329,0.939015,0.950096,0.951189,0.949775,0.942337,0.939958,0.942337,0.948338,0.955969,0.963556,0.962956,0.966299,0.97348,0.975645,0.969171,0.969171,0.973501,0.976159,0.976309,0.969836,0.979331,0.981196,0.978388,0.964778,0.962013,0.957662,0.966021,0.96182,0.95539,0.955733,0.955176,0.960449,0.94926,0.942294,0.935114,0.935564,0.941651,0.939101,0.94956,0.9364,0.943001,0.948982,0.962699,0.966664,0.965249,0.96705,0.96287,0.956397,0.953461,0.954897,0.961177,0.955904,0.957019,0.965271,0.953641,0.9542,0.952221,0.943467,0.927873,0.925787,0.92968,0.916022,0.916387,0.9217,0.919464,0.919098,0.906795,0.913398,0.913054,0.923894,0.929809,0.934649,0.938477,0.932756,0.92811,0.937875,0.937832,0.925335,0.917205,0.905934,0.904364,0.911182,0.898105,0.887351,0.883328,0.893889,0.899503,0.909096,0.926518,0.934971,0.937122,0.939789,0.940477,0.933143,0.947704,0.946801,0.96517,0.967213,0.968396,0.969601,0.977064,0.974935,0.978699,0.979301,0.977537,0.978505,0.977817,0.981667,0.987474,0.982291,0.982097,0.97814,0.985603,0.98984,0.993691,0.998229,1.01199,1.01524,1.01357,1.01927,1.02547,1.01126,1.02085,1.0229,1.02722,1.02908,1.02947,1.02649],"sx":[70.08,70.73,71.38,72.03,72.68,74.63,75.28,75.93,76.58,77.23,79.82,80.47,81.12,81.77,83.72,84.37,85.02,85.67,86.32,88.27,88.92,89.57,90.22,90.87,92.82,93.47,94.12,94.77,95.42,97.37,98.02,98.67,99.32,99.97,102.57,103.22,103.87,104.52,106.47,107.12,107.77,108.42,109.06,111.01,111.66,112.31,112.96,113.61,115.56,116.21,116.86,117.51,118.16,120.11,120.76,121.41,122.06,122.71,124.66,125.31,125.96,126.61,127.26,129.21,129.86,130.51,131.16,131.81,133.76,134.41,135.06,135.71,138.31,138.96,139.61,140.25,140.9,142.85,143.5,144.15,144.8,145.45,147.4,148.05,148.7,149.35,150.0,151.95,152.6,153.25,153.9,154.55,156.5,157.15,157.8,158.45,159.1,161.05,161.7,162.35,163.0,163.65,166.25,166.9,167.55,168.2,170.15,170.8,171.44,172.09,172.74,174.69,175.34,175.99,176.64,177.29,179.89,180.54,181.19,181.84,183.79,184.44,185.09,185.74,186.39,188.99,189.64,190.29,190.94,192.89,193.54,194.19,194.84,195.49,197.44,198.09,198.74,199.39,200.04,201.99,202.63,203.28,203.93,204.58,206.53,207.18,207.83,208.48,209.13,211.08,211.73,212.38,213.03,213.68,215.63,216.28,216.93,217.58,218.23,220.18,220.83,221.48,222.13,222.78,224.73,225.38,226.03,226.68,227.33,229.93,230.58,231.23,231.88,233.82,234.47,235.12,235.77,236.42,238.37,239.02,239.67,240.32,240.97,242.92,243.57,244.22,244.87,245.52,247.47,248.12,248.77,249.42,250.07,252.02,252.67,253.32,253.97,254.62,256.57,257.22,257.87,258.52,259.17,261.12,261.77,262.42,263.07,263.72,265.66,266.31,266.96,267.61,268.26,270.21,270.86,271.51,272.16,272.81,274.76,275.41,276.06,276.71,277.36,279.31,279.96,280.61,281.91,283.86,284.51,285.16,285.81,286.46,288.41,289.06,289.71,290.36,291.01,292.96,293.61,294.26,294.91,295.56,297.5,298.15,298.8,299.45,300.1,302.7,303.35,304.0,304.65,307.25,307.9,308.55,309.2,311.15,311.8,312.45,313.1,313.75,316.35,317.0,317.65,318.3,320.25,320.9,321.55,322.2,322.85,324.8,325.45,326.1,326.75,327.4,329.34,329.99,330.64,331.29,331.94,333.89,334.54,335.19,335.84,336.49,339.09,339.74,340.39,341.04,342.99,343.64,344.29,344.94,345.59,347.54,348.19,348.84,349.49,350.14,352.09,352.74,353.39,354.04,354.69,356.64,357.29,357.94,358.59,359.23,361.18,361.83,362.48,363.13,363.78,365.73,366.38,367.03,367.68,370.28,370.93,371.58,372.23,372.88,374.83,375.48,376.13,376.78,377.43,379.38,380.03,380.68,381.33,381.98,383.93,384.58,385.23,385.88,386.53,388.48,389.13,389.78,390.42,391.07,393.02,393.67,394.32,394.97,395.62,397.57,398.22,398.87,399.52,400.17,402.77,403.42,404.07,404.72,406.67,407.32,407.97,408.62,409.27,411.22,411.87,412.52,413.17,413.82,416.42,417.07,417.72,418.37,420.32,420.97,421.61,422.26,422.91,424.86,426.16,426.81,427.46,429.41,430.06,430.71,431.36,432.01,433.96,434.61,435.26,435.91,436.56,438.51,439.16,439.81,440.46,441.11,443.06,443.71,444.36,445.01,445.66,447.61,448.26,448.91,449.56,450.21,452.16,452.8,453.45,454.1,454.75,456.7,457.35,458.0,458.65,459.3,461.25,461.9,462.55,463.2,463.85,466.45,467.1,467.75,468.4,470.35,471.0,471.65,472.3,472.95,474.9,475.55,476.2,476.85,477.5,479.45,480.1,480.75,481.4,482.05,483.99,484.64,485.29,485.94,486.59,488.54,489.19,489.84,490.49,491.14,493.09,493.74,494.39,495.04,495.69,497.64,498.29,498.94,499.59,500.24,502.19,502.84,503.49,504.14,504.79,506.74,507.39,508.04,508.69,509.34,511.29,511.94,512.59,513.24,513.89,515.83,516.48,517.13,518.43,520.38,521.03,521.68,522.33,522.98,524.93,525.58,526.23,526.88,527.53,529.48,530.13,530.78,531.43,532.08,534.03,534.68,535.33,535.98,536.63,539.23,539.88,540.53,541.18],"sy":[113.1,113.22,119.88,120.2,121.55,121.97,118.89,117.96,122.68,122.54,128.53,131.97,135.61,141.98,140.63,144.53,145.32,146.88,139.09,133.31,131.1,127.9,135.71,134.19,135.23,132.56,127.76,133.74,140.18,141.22,136.08,135.71,142.65,144.71,148.09,153.63,149.02,142.15,142.96,147.8,142.05,143.63,146.2,155.46,157.78,149.66,151.07,155.0,157.23,150.57,143.7,139.73,136.22,136.32,132.53,136.75,131.87,130.27,127.92,123.8,125.88,131.03,130.1,127.27,131.48,134.76,133.12,134.0,139.58,140.77,137.1,141.13,141.0,135.84,136.08,140.93,149.7,147.9,156.95,156.09,148.41,159.94,158.13,156.74,147.5,158.62,160.42,170.02,169.35,173.97,174.27,167.43,168.62,162.62,174.62,176.37,176.25,170.93,173.14,170.6,164.81,157.56,159.26,161.69,156.0,161.0,160.09,157.21,160.5,167.64,176.12,186.91,187.74,183.85,193.0,192.43,185.68,186.18,183.49,174.69,175.78,181.6,181.82,184.09,181.16,180.64,179.69,175.49,175.72,178.97,181.46,182.93,183.6,178.31,180.64,173.09,171.26,168.31,171.02,170.67,174.1,166.66,162.98,158.64,159.54,161.52,156.84,157.05,157.56,157.91,159.11,152.79,152.79,147.58,146.29,145.68,147.91,147.0,151.21,157.65,158.38,157.41,153.14,163.54,165.5,168.74,170.95,170.05,173.11,174.19,169.05,167.15,162.59,159.39,172.48,171.38,174.66,176.84,174.64,177.92,182.85,185.18,189.79,192.47,193.15,187.89,193.58,197.71,190.77,182.42,183.07,185.93,193.58,195.62,197.3,198.16,191.25,197.38,190.62,187.45,189.38,191.66,185.13,181.76,177.31,179.44,180.94,174.3,176.36,177.6,184.7,187.54,183.61,180.97,179.46,185.24,170.13,167.32,169.81,167.33,169.57,170.46,169.14,170.2,166.3,164.44,164.51,169.23,169.73,160.57,160.8,161.14,166.52,170.76,171.25,168.99,171.16,166.99,164.77,166.66,173.85,177.23,179.63,179.25,175.04,179.11,177.5,178.61,182.11,177.1,177.85,179.04,176.87,180.1,173.68,173.84,171.83,168.18,167.12,165.98,166.52,171.16,173.26,167.91,164.41,164.72,164.61,161.36,160.68,164.44,160.08,156.89,152.48,155.75,157.61,153.65,157.0,159.63,158.93,155.39,155.53,154.54,158.75,159.51,165.54,165.95,164.38,167.55,166.55,167.63,168.76,166.49,161.78,161.57,166.15,165.67,171.11,175.28,175.69,170.98,172.79,167.74,171.17,168.39,164.55,169.59,168.81,166.89,166.35,167.01,162.74,161.0,156.78,155.62,157.31,158.11,156.93,156.62,156.54,157.77,153.76,154.5,153.41,153.21,153.26,154.93,154.7,154.38,159.24,160.51,154.54,151.93,152.24,155.71,157.8,159.94,154.38,154.3,155.64,154.21,154.75,155.15,154.1,156.14,152.45,149.48,149.94,149.81,153.3,155.52,152.88,148.9,148.78,150.51,147.56,143.04,143.65,142.96,144.06,142.14,141.57,138.68,136.56,136.17,132.15,133.27,134.97,136.64,135.47,137.92,139.24,135.72,135.56,134.28,130.43,130.05,130.54,133.12,133.95,133.12,131.04,128.39,125.76,125.96,124.8,122.31,121.56,123.81,123.81,122.3,121.38,121.33,123.57,120.28,119.63,120.6,125.33,126.29,127.8,124.9,126.36,128.59,128.47,128.67,126.83,130.72,133.14,135.63,135.48,133.36,134.25,130.62,135.19,132.89,130.82,126.05,124.68,125.17,124.54,125.99,128.24,129.26,128.76,126.58,128.41,128.03,125.16,129.2,129.0,129.69,132.73,138.15,138.87,137.52,142.26,142.13,140.29,141.07,141.19,145.47,143.17,143.29,139.53,137.47,135.79,134.46,136.45,138.06,134.67,134.69,139.03,141.85,145.76,146.31,143.94,148.48,152.22,153.61,149.95,148.0,144.67,138.62,135.68,134.93,134.01,133.77,136.32,131.26,131.57,125.2,124.49,124.07,123.66,121.06,121.8,120.5,120.29,120.9,120.56,120.8,119.47,117.45,119.25,119.32,120.69,118.1,116.63,115.29,113.72,108.93,107.81,108.39,106.41,104.26,109.19,105.86,105.15,103.65,103.0,102.87,103.9]}]}
2026-10-15T23:34:22.416730
image/svg+xml
Matplotlib v3.11.2, https://matplotlib.org/
2022-01
2022-04
2022-07
2022-10
2023-01
2023-04
2023-07
2023-10
2024-01
Date
0.8
0.9
1.0
1.1
1.2
Value of 1 dollar invested at the start of 2022
Weights chosen on 2019 to 2021, then run on 2022 to 2023, against equal weights
Sharpe-maximising weights from 2019 to 2021
equal weights, 20% each
SPY
Terms: the global minimum variance portfolio needs only covariances, no return forecasts, so it
is the most robust; the tangency portfolio has the highest Sharpe, where the line from R f R_f R f
touches the frontier; the capital allocation line mixes it with cash, and risk appetite moves
you along the line.
Case Working Result Weights 1.20, 0.30, −0.50 sum; sum of absolute values net 100%, gross 200% A: 10%, σ 16%; B: 8%, σ 8%; R f R_f R f 2% 8/16 vs 6/8 0.50 vs 0.75: B X (9%, σ 10%) vs Y (13%, σ 20%) at R f R_f R f 1% then 5% 0.80 vs 0.60; 0.40 vs 0.40 the risk-free rate can change the ranking Two uncorrelated assets, σ 10% and 20%, weights 80/20 0.64 × 0.01 + 0.04 × 0.04 σ = 8.9%, below either Turnover: A 50 to 20, B 50 to 80 ½(30 + 30) 30% Tangency 9%, σ 12%, R f R_f R f 1%; want σ 6% half in cash expect 5%
Trap Truth Minimum variance maximises return No Adding a constraint improves the modelled optimum It never can; it can improve robustness In-sample optimal means future optimal No The risk-free rate does not change rankings It can
Execution: a trade pays the spread, the book and the impact
Full post: What a trade really costs .
An idea becomes profit only after paying the bid-ask spread, walking the order book, moving the
price, and, for shorts, borrowing. A market order guarantees execution and risks the price; a
limit order guarantees the price and risks never filling. A buyer trades at the ask.
A simple cost model that a simulator can apply to every order: a fixed commission per order and
an impact that moves the price against you by a fraction of the trade. With a $10 commission
and 0.5% impact:
Order Price paid or received Cash change Buy 1,000 at $100 100 × 1.005 = $100.50 −100,500 − 10 = −$100,510 Sell 1,000 at $100 100 × 0.995 = $99.50 +99,500 − 10 = +$99,490 Round trip at an unchanged price −$1,020, about 1%
A rule that trades daily pays that 1% round trip two hundred and fifty times a year. Costs can
flip a strategy’s sign.
Case Working Result Bid 49.90, ask 50.10 spread; mid $0.20; $50.00 $0.04 spread on $20 vs $0.20 on $200 0.04/20 vs 0.20/200 0.20% vs 0.10%: the “small” one is wider Decide at 40.00, fill at 40.12, 10,000 shares 0.12 × 10,000 $1,200 slippage Walk the book: 100 at 99.95, 50 at 99.90 weighted average $99.933 Short at 50, cover at 42, 1,000 shares 8 × 1,000 $8,000 gross Short gain 1,000, dividend owed 200, borrow fee 150 $650 net 1M shares, daily volume 2M 50% participation: split it
Short selling: borrow, sell, buy back later. Maximum gain is the price to zero; the loss is
unlimited; the short seller pays the dividends and the borrow fee. Faster execution trades timing
risk for impact.
Trap Truth Buyer trades at the bid At the ask Smaller dollar spread means more liquid Compare relative spread Zero commission means zero cost Spread and impact remain A limit order guarantees a fill Price only
Valuation: price is observed, value is estimated
Full post: Value is an estimate .
A dollar later is worth less than a dollar now, because a dollar now can earn r r r .
P V = F V ( 1 + r ) n PV = \frac{FV}{(1 + r)^n} P V = ( 1 + r ) n F V
P 0 = D 1 r − g ( Gordon growth, needs r > g ) P_0 = \frac{D_1}{r - g} \quad (\text{Gordon growth, needs } r > g) P 0 = r − g D 1 ( Gordon growth, needs r > g )
Case Working Result $121M in 2 years at 10% 121/1.21 $100M; at 12%, $96.46M $1 a year forever at 8% 1/0.08 $12.50 D 1 D_1 D 1 $3, r r r 10%, g g g 5%3/0.05 $60 D 1 D_1 D 1 $2, g g g 4% vs 5%2/0.06 vs 2/0.05 $33.33 vs $40: one point of growth is 20% of value Assets 500M, liabilities 320M, 30M shares, price $9 equity 180M, $6 a share P/B = 1.5 Scenarios 25% $40, 50% $60, 25% $90 10 + 30 + 22.5 expected $62.50 Margin of safety at price $50 (62.5 − 50)/62.5 20%, divide by value
Terminal value is most of a discounted cash flow, so the long-run growth guess drives the answer.
Book value is accounting, not the present value of profits; P/B above 1 is normal. Being right on
value is not the same as a good trade: path, carry and margin calls can force you out first.
Trap Truth A higher discount rate raises value Lowers it Gordon works when g ≥ r g \ge r g ≥ r No Margin of safety divides by price By value
Beta is a slope, alpha is what is left
Full post: Beta and alpha .
Plot a stock’s daily return against the market’s and fit a line. Beta is the slope: how much of the
market’s move you carry. Alpha is the intercept: what is left after paying for that exposure. This
is linear regression from the other half of the material, with the market as the one feature.
r i = α + β r m + ε \good{r_i} = \alpha + \key{\beta}\,r_m + \varepsilon r i = α + β r m + ε
β = Cov ( r i , r m ) Var ( r m ) = ρ σ i σ m \key{\beta} = \frac{\text{Cov}(r_i, r_m)}{\text{Var}(r_m)} = \rho\,\frac{\risk{\sigma_i}}{\risk{\sigma_m}} β = Var ( r m ) Cov ( r i , r m ) = ρ σ m σ i
CAPM says the return you deserve for your beta is R f + β ( R m − R f ) R_f + \key{\beta}(R_m - R_f) R f + β ( R m − R f ) , and
α = R actual − \alpha = R_{\text{actual}} - α = R actual − that. In the simpler form used for daily data there is no risk-free
term: r i = β r m + α r_i = \key{\beta}\,r_m + \alpha r i = β r m + α . CAPM’s claim is that expected alpha is zero: all stocks
together are the market, so positive alphas are balanced by negative ones.
Case Working Result Cov 0.018, market variance 0.012 0.018/0.012 β = 1.5 ρ 0.9, σ i \sigma_i σ i 8%, σ m \sigma_m σ m 16% 0.9 × 0.5 β = 0.45: tight tracking, small beta ρ 0.2, σ i \sigma_i σ i 30%, σ m \sigma_m σ m 15% 0.2 × 2 β = 0.40: high volatility, low beta R f R_f R f 2%, β 1.2, market 10%, realised 14%2 + 1.2 × 8 = 11.6 α = 2.4% β 1.5, market excess 10%, realised 17% 2 + 15 = 17 α = 0: exposure, not skill 60% at β 1.4, 40% at β 0.5 0.84 + 0.20 portfolio β 1.04 Hedge $10M at β 1.3 with a β-1 fund 10 × 1.3 short $13M Alpha 1.0%, standard error 0.8% 1.0/0.8 t = 1.25, not significant
Dollar neutral is not market neutral. Long $50M at β 1.4 and short $50M at β 1.0 nets to zero
dollars but +20 beta-dollars. Beta neutral means shorting $70M. Long a stock at β 0.77 against the
index: dollars 56% long and 44% short make the beta-dollars cancel (0.77 × 0.56 ≈ 0.44 0.77 \times 0.56 \approx 0.44 0.77 × 0.56 ≈ 0.44 ).
Trap Truth Beta equals correlation β = ρ σ_i/σ_m High volatility means high beta Not if correlation is low Beating the market means alpha Not if beta explains it Dollar neutral means market neutral Beta neutral is
Prices are hard to beat: efficiency, random walks and a roulette wheel
Full post: Why prices are hard to beat .
Efficiency is about what information prices already contain. Weak form: past prices and volume
are useless, so technical analysis fails. Semi-strong: public news is priced immediately, so
fundamental analysis fails too. Strong: even insiders cannot win. Measure efficiency by how fast
prices react; big liquid markets are the most efficient.
A random walk has tomorrow’s price equal to today’s plus an unpredictable surprise, so the best
forecast of tomorrow is today. Streaks still happen by chance.
The roulette wheel, a strategy that looks like it works. The cleanest picture of “a
strategy that wins almost every time on a losing game” is a betting rule, not a stock. European
roulette has 37 pockets, 18 of them red, and a bet on red pays even money, so each spin is a bet
with p = 18 / 37 = 0.4865 p = 18/37 = 0.4865 p = 18/37 = 0.4865 and expected value − 2.7 \bad{-2.7} − 2.7 cents per dollar. The doubling rule:
bet $1 on red, double after every loss, go back to $1 after a win, stop at +$50.
Each win recovers all previous losses plus $1, so the only way to lose is a run of losses the
bankroll cannot cover. With no limit on the bankroll every play eventually reaches +$50 (in
2,000 simulated plays, every one did, median 102 spins), and the rule looks like a money machine.
The expected value of each spin is still negative. It shows up as the dips along the way and as
the size of the bet needed to climb out of them: the worst dip across those 2,000 plays was about
− $ 2,100,000 \bad{-\usd 2{,}100{,}000} − $2 , 100 , 000 , twenty-one losses in a row, with a $2,097,152 bet pending to win
$1 back.
Losses in a row Probability Already lost Next bet 5 0.5135 5 = 3.6 % 0.5135^5 = 3.6\% 0.513 5 5 = 3.6% $31 $32 7 0.5135 7 = 0.94 % 0.5135^7 = 0.94\% 0.513 5 7 = 0.94% $127 $128 9 0.5135 9 = 0.25 % 0.5135^9 = 0.25\% 0.513 5 9 = 0.25% $511 $512
Now give the player a bankroll. A bankroll of $127 survives six losses in a row and busts on the
seventh. Reaching +$50 needs about 50 winning cycles, and each cycle busts with probability
0.94%:
P ( reach + 50 ) ≈ ( 1 − 0.0094 ) 50 = 0.62 P(\text{reach } +50) \approx (1 - 0.0094)^{50} = \good{0.62} P ( reach + 50 ) ≈ ( 1 − 0.0094 ) 50 = 0.62
E [ final ] ≈ 0.62 × 50 − 0.38 × 127 = 31 − 48 = − $ 17 \begin{aligned}
E[\text{final}] &\approx 0.62 \times 50 - 0.38 \times 127 \\
&= 31 - 48 = \bad{-\usd 17}
\end{aligned} E [ final ] ≈ 0.62 × 50 − 0.38 × 127 = 31 − 48 = − $17
The simulation, 2,000 plays per bankroll:
Bankroll Reach +50 Lose it all Mean final Median final $31 32.1% 67.9% −$5.0 −$31 $63 47.9% 52.0% −$8.8 −$63 $127 67.8% 32.1% − $ 6.9 \bad{-\usd 6.9} − $6.9 +$50 $255 78.5% 21.4% −$15.4 +$50 $511 87.6% 12.4% −$19.6 +$50 $1,023 94.8% 5.1% −$5.9 +$50 Unlimited 100% 0% +$50 +$50
{"panels":[{"x0":57.32,"x1":556.56,"y0":29.16,"y1":222.74,"title":"1. Ten plays of the doubling rule with no bankroll limit","xlabel":"Spin number","ylabel":"Winnings so far (dollars)","xlog":false},{"x0":57.32,"x1":556.56,"y0":311.42,"y1":505.0,"title":"2. A bigger bankroll wins more often, and the average play still loses","xlabel":"Bankroll (dollars, log scale)","ylabel":"Percent of plays, or dollars","xlog":true}],"series":[{"panel":0,"label":"one play (winnings after each spin)","color":"var(--chart-maroon, #b6262c)","x":[0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,37.0,38.0,39.0,40.0,41.0,42.0,43.0,44.0,45.0,46.0,47.0,48.0,49.0,50.0,51.0,52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0,61.0,62.0,63.0,64.0,65.0,66.0,67.0,68.0,69.0,70.0,71.0,72.0,73.0,74.0,75.0,76.0,77.0,78.0,79.0,80.0,81.0,82.0,83.0,84.0,85.0,86.0,87.0,88.0,89.0,90.0,91.0,92.0,93.0,94.0,95.0,96.0,97.0,98.0,99.0,100.0,101.0,102.0,103.0,104.0,105.0,106.0,107.0,108.0,109.0,110.0,111.0,112.0,113.0,114.0,115.0,116.0,117.0,118.0,119.0,120.0,121.0,122.0,123.0,124.0,125.0,126.0,127.0,128.0,129.0,130.0,131.0,132.0,133.0,134.0,135.0,136.0,137.0,138.0,139.0,140.0,141.0,142.0,143.0,144.0,145.0,146.0,147.0,148.0,149.0,150.0,151.0,152.0,153.0,154.0,155.0,156.0,157.0,158.0,159.0,160.0,161.0,162.0,163.0,164.0,165.0,166.0,167.0,168.0,169.0,170.0,171.0,172.0,173.0,174.0,175.0,176.0,177.0,178.0,179.0,180.0,181.0,182.0,183.0,184.0,185.0,186.0,187.0,188.0,189.0,190.0,191.0,192.0,193.0,194.0,195.0,196.0,197.0,198.0,199.0,200.0,201.0,202.0,203.0,204.0,205.0,206.0,207.0,208.0,209.0,210.0,211.0,212.0,213.0,214.0,215.0,216.0,217.0,218.0,219.0,220.0,221.0,222.0,223.0,224.0,225.0,226.0,227.0,228.0,229.0,230.0,231.0,232.0,233.0,234.0,235.0,236.0,237.0,238.0,239.0,240.0,241.0,242.0,243.0,244.0,245.0,246.0,247.0,248.0,249.0,250.0,251.0,252.0,253.0,254.0,255.0,256.0,257.0,258.0,259.0,260.0,261.0,262.0,263.0,264.0,265.0,266.0,267.0,268.0,269.0,270.0,271.0,272.0,273.0,274.0,275.0,276.0,277.0,278.0,279.0,280.0,281.0,282.0,283.0,284.0,285.0,286.0,287.0,288.0,289.0,290.0,291.0,292.0,293.0,294.0,295.0,296.0,297.0,298.0,299.0,300.0,301.0,302.0,303.0,304.0,305.0,306.0,307.0,308.0,309.0,310.0,311.0,312.0,313.0,314.0,315.0,316.0,317.0,318.0,319.0,320.0,321.0,322.0,323.0,324.0,325.0,326.0,327.0,328.0,329.0,330.0,331.0,332.0,333.0,334.0,335.0,336.0,337.0,338.0,339.0,340.0,341.0,342.0,343.0,344.0,345.0,346.0,347.0,348.0,349.0,350.0,351.0,352.0,353.0,354.0,355.0,356.0,357.0,358.0,359.0,360.0,361.0,362.0,363.0,364.0,365.0,366.0,367.0,368.0,369.0,370.0,371.0,372.0,373.0,374.0,375.0,376.0,377.0,378.0,379.0,380.0,381.0,382.0,383.0,384.0,385.0,386.0,387.0,388.0,389.0,390.0,391.0,392.0,393.0,394.0,395.0,396.0,397.0,398.0,399.0,400.0,401.0,402.0,403.0,404.0,405.0,406.0,407.0,408.0,409.0,410.0,411.0,412.0,413.0,414.0,415.0,416.0,417.0,418.0,419.0,420.0,421.0,422.0,423.0,424.0,425.0,426.0,427.0,428.0,429.0,430.0,431.0,432.0,433.0,434.0,435.0,436.0,437.0,438.0,439.0,440.0,441.0,442.0,443.0,444.0,445.0,446.0,447.0,448.0,449.0,450.0,451.0,452.0,453.0,454.0,455.0,456.0,457.0,458.0,459.0,460.0,461.0,462.0,463.0,464.0,465.0,466.0,467.0,468.0,469.0,470.0,471.0,472.0,473.0,474.0,475.0,476.0,477.0,478.0,479.0,480.0,481.0,482.0,483.0,484.0,485.0,486.0,487.0,488.0,489.0,490.0,491.0,492.0,493.0,494.0,495.0,496.0,497.0,498.0,499.0,500.0,501.0,502.0,503.0,504.0,505.0,506.0,507.0,508.0,509.0,510.0,511.0,512.0,513.0,514.0,515.0,516.0,517.0,518.0,519.0,520.0,521.0,522.0,523.0,524.0,525.0,526.0,527.0,528.0,529.0,530.0,531.0,532.0,533.0,534.0,535.0,536.0,537.0,538.0,539.0,540.0,541.0,542.0,543.0,544.0,545.0,546.0,547.0,548.0,549.0,550.0,551.0,552.0,553.0,554.0,555.0,556.0,557.0,558.0,559.0,560.0,561.0,562.0,563.0,564.0,565.0,566.0,567.0,568.0,569.0,570.0,571.0,572.0,573.0,574.0,575.0,576.0,577.0,578.0,579.0,580.0,581.0,582.0,583.0,584.0,585.0,586.0,587.0,588.0,589.0,590.0,591.0,592.0,593.0,594.0,595.0,596.0,597.0,598.0,599.0,600.0,601.0,602.0,603.0,604.0,605.0,606.0,607.0,608.0,609.0,610.0,611.0,612.0,613.0,614.0,615.0,616.0,617.0,618.0,619.0,620.0,621.0,622.0,623.0,624.0,625.0,626.0,627.0,628.0,629.0,630.0,631.0,632.0,633.0,634.0,635.0,636.0,637.0,638.0,639.0,640.0,641.0,642.0,643.0,644.0,645.0,646.0,647.0,648.0,649.0,650.0,651.0,652.0,653.0,654.0,655.0,656.0,657.0,658.0,659.0,660.0,661.0,662.0,663.0,664.0,665.0,666.0,667.0,668.0,669.0,670.0,671.0,672.0,673.0,674.0,675.0,676.0,677.0,678.0,679.0,680.0,681.0,682.0,683.0,684.0,685.0,686.0,687.0,688.0,689.0,690.0,691.0,692.0,693.0,694.0,695.0,696.0,697.0,698.0,699.0,700.0,701.0,702.0,703.0,704.0,705.0,706.0,707.0,708.0,709.0,710.0,711.0,712.0,713.0,714.0,715.0,716.0,717.0,718.0,719.0,720.0,721.0,722.0,723.0,724.0,725.0,726.0,727.0,728.0,729.0,730.0,731.0,732.0,733.0,734.0,735.0,736.0,737.0,738.0,739.0,740.0,741.0,742.0,743.0,744.0,745.0,746.0,747.0,748.0,749.0,750.0,751.0,752.0,753.0,754.0,755.0,756.0,757.0,758.0,759.0,760.0,761.0,762.0,763.0,764.0,765.0,766.0,767.0,768.0,769.0,770.0,771.0,772.0,773.0,774.0,775.0,776.0,777.0,778.0,779.0,780.0,781.0,782.0,783.0,784.0,785.0,786.0,787.0,788.0,789.0,790.0,791.0,792.0,793.0,794.0,795.0,796.0,797.0,798.0,799.0,800.0,801.0,802.0,803.0,804.0,805.0,806.0,807.0,808.0,809.0,810.0,811.0,812.0,813.0,814.0,815.0,816.0,817.0,818.0,819.0,820.0,821.0,822.0,823.0,824.0,825.0,826.0,827.0,828.0,829.0,830.0,831.0,832.0,833.0,834.0,835.0,836.0,837.0,838.0,839.0,840.0,841.0,842.0,843.0,844.0,845.0,846.0,847.0,848.0,849.0,850.0,851.0,852.0,853.0,854.0,855.0,856.0,857.0,858.0,859.0,860.0,861.0,862.0,863.0,864.0,865.0,866.0,867.0,868.0,869.0,870.0,871.0,872.0,873.0,874.0,875.0,876.0,877.0,878.0,879.0,880.0,881.0,882.0,883.0,884.0,885.0,886.0,887.0,888.0,889.0,890.0,891.0,892.0,893.0,894.0,895.0,896.0,897.0,898.0,899.0,900.0,901.0,902.0,903.0,904.0,905.0,906.0,907.0,908.0,909.0,910.0,911.0,912.0,913.0,914.0,915.0,916.0,917.0,918.0,919.0,920.0,921.0,922.0,923.0,924.0,925.0,926.0,927.0,928.0,929.0,930.0,931.0,932.0,933.0,934.0,935.0,936.0,937.0,938.0,939.0,940.0,941.0,942.0,943.0,944.0,945.0,946.0,947.0,948.0,949.0,950.0,951.0,952.0,953.0,954.0,955.0,956.0,957.0,958.0,959.0,960.0,961.0,962.0,963.0,964.0,965.0,966.0,967.0,968.0,969.0,970.0,971.0,972.0,973.0,974.0,975.0,976.0,977.0,978.0,979.0,980.0,981.0,982.0,983.0,984.0,985.0,986.0,987.0,988.0,989.0,990.0,991.0,992.0,993.0,994.0,995.0,996.0,997.0,998.0,999.0,1000.0,1001.0,1002.0,1003.0,1004.0,1005.0,1006.0,1007.0,1008.0,1009.0,1010.0,1011.0,1012.0,1013.0,1014.0,1015.0,1016.0,1017.0,1018.0,1019.0,1020.0,1021.0,1022.0,1023.0,1024.0,1025.0,1026.0,1027.0,1028.0,1029.0,1030.0,1031.0,1032.0,1033.0,1034.0,1035.0,1036.0,1037.0,1038.0,1039.0,1040.0,1041.0,1042.0,1043.0,1044.0,1045.0,1046.0,1047.0,1048.0,1049.0,1050.0,1051.0,1052.0,1053.0,1054.0,1055.0,1056.0,1057.0,1058.0,1059.0,1060.0,1061.0,1062.0,1063.0,1064.0,1065.0,1066.0,1067.0,1068.0,1069.0,1070.0,1071.0,1072.0,1073.0,1074.0,1075.0,1076.0,1077.0,1078.0,1079.0,1080.0,1081.0,1082.0,1083.0,1084.0,1085.0,1086.0,1087.0,1088.0,1089.0,1090.0,1091.0,1092.0,1093.0,1094.0,1095.0,1096.0,1097.0,1098.0,1099.0,1100.0,1101.0,1102.0,1103.0,1104.0,1105.0,1106.0,1107.0,1108.0,1109.0,1110.0,1111.0,1112.0,1113.0,1114.0,1115.0,1116.0,1117.0,1118.0,1119.0,1120.0,1121.0,1122.0,1123.0,1124.0,1125.0,1126.0,1127.0,1128.0,1129.0,1130.0,1131.0,1132.0,1133.0,1134.0,1135.0,1136.0,1137.0,1138.0,1139.0,1140.0,1141.0,1142.0,1143.0,1144.0,1145.0,1146.0,1147.0,1148.0,1149.0,1150.0,1151.0,1152.0,1153.0,1154.0,1155.0,1156.0,1157.0,1158.0,1159.0,1160.0,1161.0,1162.0,1163.0,1164.0,1165.0,1166.0,1167.0,1168.0,1169.0,1170.0,1171.0,1172.0,1173.0,1174.0,1175.0,1176.0,1177.0,1178.0,1179.0,1180.0,1181.0,1182.0,1183.0,1184.0,1185.0,1186.0,1187.0,1188.0,1189.0,1190.0,1191.0,1192.0,1193.0,1194.0,1195.0,1196.0,1197.0,1198.0,1199.0,1200.0,1201.0,1202.0,1203.0,1204.0,1205.0,1206.0,1207.0,1208.0,1209.0,1210.0,1211.0,1212.0,1213.0,1214.0,1215.0,1216.0,1217.0,1218.0,1219.0,1220.0,1221.0,1222.0,1223.0,1224.0,1225.0,1226.0,1227.0,1228.0,1229.0,1230.0,1231.0,1232.0,1233.0,1234.0,1235.0,1236.0,1237.0,1238.0,1239.0,1240.0,1241.0,1242.0,1243.0,1244.0,1245.0,1246.0,1247.0,1248.0,1249.0,1250.0,1251.0,1252.0,1253.0,1254.0,1255.0,1256.0,1257.0,1258.0,1259.0,1260.0,1261.0,1262.0,1263.0,1264.0,1265.0,1266.0,1267.0,1268.0,1269.0,1270.0,1271.0,1272.0,1273.0,1274.0,1275.0,1276.0,1277.0,1278.0,1279.0,1280.0,1281.0,1282.0,1283.0,1284.0,1285.0,1286.0,1287.0,1288.0,1289.0,1290.0,1291.0,1292.0,1293.0,1294.0,1295.0,1296.0,1297.0,1298.0,1299.0,1300.0,1301.0,1302.0,1303.0,1304.0,1305.0,1306.0,1307.0,1308.0,1309.0,1310.0,1311.0,1312.0,1313.0,1314.0,1315.0,1316.0,1317.0,1318.0,1319.0,1320.0,1321.0,1322.0,1323.0,1324.0,1325.0,1326.0,1327.0,1328.0,1329.0,1330.0,1331.0,1332.0,1333.0,1334.0,1335.0,1336.0,1337.0,1338.0,1339.0,1340.0,1341.0,1342.0,1343.0,1344.0,1345.0,1346.0,1347.0,1348.0,1349.0,1350.0,1351.0,1352.0,1353.0,1354.0,1355.0,1356.0,1357.0,1358.0,1359.0,1360.0,1361.0,1362.0,1363.0,1364.0,1365.0,1366.0,1367.0,1368.0,1369.0,1370.0,1371.0,1372.0,1373.0,1374.0,1375.0,1376.0,1377.0,1378.0,1379.0,1380.0,1381.0,1382.0,1383.0,1384.0,1385.0,1386.0,1387.0,1388.0,1389.0,1390.0,1391.0,1392.0,1393.0,1394.0,1395.0,1396.0,1397.0,1398.0,1399.0,1400.0,1401.0,1402.0,1403.0,1404.0,1405.0,1406.0,1407.0,1408.0,1409.0,1410.0,1411.0,1412.0,1413.0,1414.0,1415.0,1416.0,1417.0,1418.0,1419.0,1420.0,1421.0,1422.0,1423.0,1424.0,1425.0,1426.0,1427.0,1428.0,1429.0,1430.0,1431.0,1432.0,1433.0,1434.0,1435.0,1436.0,1437.0,1438.0,1439.0,1440.0,1441.0,1442.0,1443.0,1444.0,1445.0,1446.0,1447.0,1448.0,1449.0,1450.0,1451.0,1452.0,1453.0,1454.0,1455.0,1456.0,1457.0,1458.0,1459.0,1460.0,1461.0,1462.0,1463.0,1464.0,1465.0,1466.0,1467.0,1468.0,1469.0,1470.0,1471.0,1472.0,1473.0,1474.0,1475.0,1476.0,1477.0,1478.0,1479.0,1480.0,1481.0,1482.0,1483.0,1484.0,1485.0,1486.0,1487.0,1488.0,1489.0,1490.0,1491.0,1492.0,1493.0,1494.0,1495.0,1496.0,1497.0,1498.0,1499.0,1500.0,1501.0,1502.0,1503.0,1504.0,1505.0,1506.0,1507.0,1508.0,1509.0,1510.0,1511.0,1512.0,1513.0,1514.0,1515.0,1516.0,1517.0,1518.0,1519.0,1520.0,1521.0,1522.0,1523.0,1524.0,1525.0,1526.0,1527.0,1528.0,1529.0,1530.0,1531.0,1532.0,1533.0,1534.0,1535.0,1536.0,1537.0,1538.0,1539.0,1540.0,1541.0,1542.0,1543.0,1544.0,1545.0,1546.0,1547.0,1548.0,1549.0,1550.0,1551.0,1552.0,1553.0,1554.0,1555.0,1556.0,1557.0,1558.0,1559.0,1560.0,1561.0,1562.0,1563.0,1564.0,1565.0,1566.0,1567.0,1568.0,1569.0,1570.0,1571.0,1572.0,1573.0,1574.0,1575.0,1576.0,1577.0,1578.0,1579.0,1580.0,1581.0,1582.0,1583.0,1584.0,1585.0,1586.0,1587.0,1588.0,1589.0,1590.0,1591.0,1592.0,1593.0,1594.0,1595.0,1596.0,1597.0,1598.0,1599.0,1600.0,1601.0,1602.0,1603.0,1604.0,1605.0,1606.0,1607.0,1608.0,1609.0,1610.0,1611.0,1612.0,1613.0,1614.0,1615.0,1616.0,1617.0,1618.0,1619.0,1620.0,1621.0,1622.0,1623.0,1624.0,1625.0,1626.0,1627.0,1628.0,1629.0,1630.0,1631.0,1632.0,1633.0,1634.0,1635.0,1636.0,1637.0,1638.0,1639.0,1640.0,1641.0,1642.0,1643.0,1644.0,1645.0,1646.0,1647.0,1648.0,1649.0,1650.0,1651.0,1652.0,1653.0,1654.0,1655.0,1656.0,1657.0,1658.0,1659.0,1660.0,1661.0,1662.0,1663.0,1664.0,1665.0,1666.0,1667.0,1668.0,1669.0,1670.0,1671.0,1672.0,1673.0,1674.0,1675.0,1676.0,1677.0,1678.0,1679.0,1680.0,1681.0,1682.0,1683.0,1684.0,1685.0,1686.0,1687.0,1688.0,1689.0,1690.0,1691.0,1692.0,1693.0,1694.0,1695.0,1696.0,1697.0,1698.0,1699.0,1700.0,1701.0,1702.0,1703.0,1704.0,1705.0,1706.0,1707.0,1708.0,1709.0,1710.0,1711.0,1712.0,1713.0,1714.0,1715.0,1716.0,1717.0,1718.0,1719.0,1720.0,1721.0,1722.0,1723.0,1724.0,1725.0,1726.0,1727.0,1728.0,1729.0,1730.0,1731.0,1732.0,1733.0,1734.0,1735.0,1736.0,1737.0,1738.0,1739.0,1740.0,1741.0,1742.0,1743.0,1744.0,1745.0,1746.0,1747.0,1748.0,1749.0,1750.0,1751.0,1752.0,1753.0,1754.0,1755.0,1756.0,1757.0,1758.0,1759.0,1760.0,1761.0,1762.0,1763.0,1764.0,1765.0,1766.0,1767.0,1768.0,1769.0,1770.0,1771.0,1772.0,1773.0,1774.0,1775.0,1776.0,1777.0,1778.0,1779.0,1780.0,1781.0,1782.0,1783.0,1784.0,1785.0,1786.0,1787.0,1788.0,1789.0,1790.0,1791.0,1792.0,1793.0,1794.0,1795.0,1796.0,1797.0,1798.0,1799.0,1800.0,1801.0,1802.0,1803.0,1804.0,1805.0,1806.0,1807.0,1808.0,1809.0,1810.0,1811.0,1812.0,1813.0,1814.0,1815.0,1816.0,1817.0,1818.0,1819.0,1820.0,1821.0,1822.0,1823.0,1824.0,1825.0,1826.0,1827.0,1828.0,1829.0,1830.0,1831.0,1832.0,1833.0,1834.0,1835.0,1836.0,1837.0,1838.0,1839.0,1840.0,1841.0,1842.0,1843.0,1844.0,1845.0,1846.0,1847.0,1848.0,1849.0,1850.0,1851.0,1852.0,1853.0,1854.0,1855.0,1856.0,1857.0,1858.0,1859.0,1860.0,1861.0,1862.0,1863.0,1864.0,1865.0,1866.0,1867.0,1868.0,1869.0,1870.0,1871.0,1872.0,1873.0,1874.0,1875.0,1876.0,1877.0,1878.0,1879.0,1880.0,1881.0,1882.0,1883.0,1884.0,1885.0,1886.0,1887.0,1888.0,1889.0,1890.0,1891.0,1892.0,1893.0,1894.0,1895.0,1896.0,1897.0,1898.0,1899.0,1900.0,1901.0,1902.0,1903.0,1904.0,1905.0,1906.0,1907.0,1908.0,1909.0,1910.0,1911.0,1912.0,1913.0,1914.0,1915.0,1916.0,1917.0,1918.0,1919.0,1920.0,1921.0,1922.0,1923.0,1924.0,1925.0,1926.0,1927.0,1928.0,1929.0,1930.0,1931.0,1932.0,1933.0,1934.0,1935.0,1936.0,1937.0,1938.0,1939.0,1940.0,1941.0,1942.0,1943.0,1944.0,1945.0,1946.0,1947.0,1948.0,1949.0,1950.0,1951.0,1952.0,1953.0,1954.0,1955.0,1956.0,1957.0,1958.0,1959.0,1960.0,1961.0,1962.0,1963.0,1964.0,1965.0,1966.0,1967.0,1968.0,1969.0,1970.0,1971.0,1972.0,1973.0,1974.0,1975.0,1976.0,1977.0,1978.0,1979.0,1980.0,1981.0,1982.0,1983.0,1984.0,1985.0,1986.0,1987.0,1988.0,1989.0,1990.0,1991.0,1992.0,1993.0,1994.0,1995.0,1996.0,1997.0,1998.0,1999.0,2000.0],"y":[0.0,-1.0,1.0,0.0,-2.0,2.0,1.0,-1.0,-5.0,3.0,4.0,5.0,4.0,2.0,-2.0,6.0,7.0,6.0,8.0,7.0,5.0,1.0,9.0,8.0,6.0,2.0,10.0,11.0,12.0,13.0,12.0,10.0,6.0,14.0,15.0,16.0,17.0,18.0,19.0,20.0,19.0,21.0,20.0,18.0,22.0,21.0,19.0,23.0,24.0,23.0,25.0,26.0,27.0,26.0,24.0,20.0,12.0,28.0,27.0,29.0,30.0,29.0,31.0,30.0,28.0,24.0,16.0,0.0,32.0,33.0,34.0,35.0,36.0,35.0,37.0,38.0,39.0,40.0,39.0,37.0,33.0,25.0,41.0,40.0,42.0,43.0,44.0,43.0,45.0,46.0,45.0,47.0,46.0,48.0,49.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0,50.0],"sx":[57.32,59.32,61.32,63.31,65.31,67.31,69.3,71.3,73.3,75.29,77.29,79.29,81.29,83.28,85.28,87.28,89.27,91.27,93.27,95.26,97.26,99.26,101.26,103.25,105.25,107.25,109.24,111.24,113.24,115.23,117.23,119.23,121.22,123.22,125.22,127.22,129.21,131.21,133.21,135.2,137.2,139.2,141.19,143.19,145.19,147.19,149.18,151.18,153.18,155.17,157.17,159.17,161.16,163.16,165.16,167.15,169.15,171.15,173.15,175.14,177.14,179.14,181.13,183.13,185.13,187.12,189.12,191.12,193.11,195.11,197.11,199.11,201.1,203.1,205.1,207.09,209.09,211.09,213.08,215.08,217.08,219.08,221.07,223.07,225.07,227.06,229.06,231.06,233.05,235.05,237.05,239.04,241.04,243.04,245.04,247.03,249.03,251.03,253.02,255.02,257.02,259.01,261.01,263.01,265.01,267.0,269.0,271.0,272.99,274.99,276.99,278.98,280.98,282.98,284.97,286.97,288.97,290.97,292.96,294.96,296.96,298.95,300.95,302.95,304.94,306.94,308.94,310.94,312.93,314.93,316.93,318.92,320.92,322.92,324.91,326.91,328.91,330.9,332.9,334.9,336.9,338.89,340.89,342.89,344.88,346.88,348.88,350.87,352.87,354.87,356.86,358.86,360.86,362.86,364.85,366.85,368.85,370.84,372.84,374.84,376.83,378.83,380.83,382.83,384.82,386.82,388.82,390.81,392.81,394.81,396.8,398.8,400.8,402.79,404.79,406.79,408.79,410.78,412.78,414.78,416.77,418.77,420.77,422.76,424.76,426.76,428.76,430.75,432.75,434.75,436.74,438.74,440.74,442.73,444.73,446.73,448.72,450.72,452.72,454.72,456.71,458.71,460.71,462.7,464.7,466.7,468.69,470.69,472.69,474.69,476.68,478.68,480.68,482.67,484.67,486.67,488.66,490.66,492.66,494.65,496.65,498.65,500.65,502.64,504.64,506.64,508.63,510.63,512.63,514.62,516.62,518.62,520.61,522.61,524.61,526.61,528.6,530.6,532.6,534.59,536.59,538.59,540.58,542.58,544.58,546.58,548.57,550.57,552.57,554.56,556.56,558.56,560.55,562.55,564.55,566.54,568.54,570.54,572.54,574.53,576.53,578.53,580.52,582.52,584.52,586.51,588.51,590.51,592.51,594.5,596.5,598.5,600.49,602.49,604.49,606.48,608.48,610.48,612.47,614.47,616.47,618.47,620.46,622.46,624.46,626.45,628.45,630.45,632.44,634.44,636.44,638.43,640.43,642.43,644.43,646.42,648.42,650.42,652.41,654.41,656.41,658.4,660.4,662.4,664.4,666.39,668.39,670.39,672.38,674.38,676.38,678.37,680.37,682.37,684.36,686.36,688.36,690.36,692.35,694.35,696.35,698.34,700.34,702.34,704.33,706.33,708.33,710.33,712.32,714.32,716.32,718.31,720.31,722.31,724.3,726.3,728.3,730.29,732.29,734.29,736.29,738.28,740.28,742.28,744.27,746.27,748.27,750.26,752.26,754.26,756.26,758.25,760.25,762.25,764.24,766.24,768.24,770.23,772.23,774.23,776.22,778.22,780.22,782.22,784.21,786.21,788.21,790.2,792.2,794.2,796.19,798.19,800.19,802.18,804.18,806.18,808.18,810.17,812.17,814.17,816.16,818.16,820.16,822.15,824.15,826.15,828.15,830.14,832.14,834.14,836.13,838.13,840.13,842.12,844.12,846.12,848.11,850.11,852.11,854.11,856.1,858.1,860.1,862.09,864.09,866.09,868.08,870.08,872.08,874.08,876.07,878.07,880.07,882.06,884.06,886.06,888.05,890.05,892.05,894.04,896.04,898.04,900.04,902.03,904.03,906.03,908.02,910.02,912.02,914.01,916.01,918.01,920.01,922.0,924.0,926.0,927.99,929.99,931.99,933.98,935.98,937.98,939.97,941.97,943.97,945.97,947.96,949.96,951.96,953.95,955.95,957.95,959.94,961.94,963.94,965.93,967.93,969.93,971.93,973.92,975.92,977.92,979.91,981.91,983.91,985.9,987.9,989.9,991.9,993.89,995.89,997.89,999.88,1001.88,1003.88,1005.87,1007.87,1009.87,1011.86,1013.86,1015.86,1017.86,1019.85,1021.85,1023.85,1025.84,1027.84,1029.84,1031.83,1033.83,1035.83,1037.83,1039.82,1041.82,1043.82,1045.81,1047.81,1049.81,1051.8,1053.8,1055.8,1057.79,1059.79,1061.79,1063.79,1065.78,1067.78,1069.78,1071.77,1073.77,1075.77,1077.76,1079.76,1081.76,1083.75,1085.75,1087.75,1089.75,1091.74,1093.74,1095.74,1097.73,1099.73,1101.73,1103.72,1105.72,1107.72,1109.72,1111.71,1113.71,1115.71,1117.7,1119.7,1121.7,1123.69,1125.69,1127.69,1129.68,1131.68,1133.68,1135.68,1137.67,1139.67,1141.67,1143.66,1145.66,1147.66,1149.65,1151.65,1153.65,1155.65,1157.64,1159.64,1161.64,1163.63,1165.63,1167.63,1169.62,1171.62,1173.62,1175.61,1177.61,1179.61,1181.61,1183.6,1185.6,1187.6,1189.59,1191.59,1193.59,1195.58,1197.58,1199.58,1201.58,1203.57,1205.57,1207.57,1209.56,1211.56,1213.56,1215.55,1217.55,1219.55,1221.54,1223.54,1225.54,1227.54,1229.53,1231.53,1233.53,1235.52,1237.52,1239.52,1241.51,1243.51,1245.51,1247.5,1249.5,1251.5,1253.5,1255.49,1257.49,1259.49,1261.48,1263.48,1265.48,1267.47,1269.47,1271.47,1273.47,1275.46,1277.46,1279.46,1281.45,1283.45,1285.45,1287.44,1289.44,1291.44,1293.43,1295.43,1297.43,1299.43,1301.42,1303.42,1305.42,1307.41,1309.41,1311.41,1313.4,1315.4,1317.4,1319.4,1321.39,1323.39,1325.39,1327.38,1329.38,1331.38,1333.37,1335.37,1337.37,1339.36,1341.36,1343.36,1345.36,1347.35,1349.35,1351.35,1353.34,1355.34,1357.34,1359.33,1361.33,1363.33,1365.33,1367.32,1369.32,1371.32,1373.31,1375.31,1377.31,1379.3,1381.3,1383.3,1385.29,1387.29,1389.29,1391.29,1393.28,1395.28,1397.28,1399.27,1401.27,1403.27,1405.26,1407.26,1409.26,1411.25,1413.25,1415.25,1417.25,1419.24,1421.24,1423.24,1425.23,1427.23,1429.23,1431.22,1433.22,1435.22,1437.22,1439.21,1441.21,1443.21,1445.2,1447.2,1449.2,1451.19,1453.19,1455.19,1457.18,1459.18,1461.18,1463.18,1465.17,1467.17,1469.17,1471.16,1473.16,1475.16,1477.15,1479.15,1481.15,1483.15,1485.14,1487.14,1489.14,1491.13,1493.13,1495.13,1497.12,1499.12,1501.12,1503.11,1505.11,1507.11,1509.11,1511.1,1513.1,1515.1,1517.09,1519.09,1521.09,1523.08,1525.08,1527.08,1529.07,1531.07,1533.07,1535.07,1537.06,1539.06,1541.06,1543.05,1545.05,1547.05,1549.04,1551.04,1553.04,1555.04,1557.03,1559.03,1561.03,1563.02,1565.02,1567.02,1569.01,1571.01,1573.01,1575.0,1577.0,1579.0,1581.0,1582.99,1584.99,1586.99,1588.98,1590.98,1592.98,1594.97,1596.97,1598.97,1600.97,1602.96,1604.96,1606.96,1608.95,1610.95,1612.95,1614.94,1616.94,1618.94,1620.93,1622.93,1624.93,1626.93,1628.92,1630.92,1632.92,1634.91,1636.91,1638.91,1640.9,1642.9,1644.9,1646.9,1648.89,1650.89,1652.89,1654.88,1656.88,1658.88,1660.87,1662.87,1664.87,1666.86,1668.86,1670.86,1672.86,1674.85,1676.85,1678.85,1680.84,1682.84,1684.84,1686.83,1688.83,1690.83,1692.82,1694.82,1696.82,1698.82,1700.81,1702.81,1704.81,1706.8,1708.8,1710.8,1712.79,1714.79,1716.79,1718.79,1720.78,1722.78,1724.78,1726.77,1728.77,1730.77,1732.76,1734.76,1736.76,1738.75,1740.75,1742.75,1744.75,1746.74,1748.74,1750.74,1752.73,1754.73,1756.73,1758.72,1760.72,1762.72,1764.72,1766.71,1768.71,1770.71,1772.7,1774.7,1776.7,1778.69,1780.69,1782.69,1784.68,1786.68,1788.68,1790.68,1792.67,1794.67,1796.67,1798.66,1800.66,1802.66,1804.65,1806.65,1808.65,1810.64,1812.64,1814.64,1816.64,1818.63,1820.63,1822.63,1824.62,1826.62,1828.62,1830.61,1832.61,1834.61,1836.61,1838.6,1840.6,1842.6,1844.59,1846.59,1848.59,1850.58,1852.58,1854.58,1856.57,1858.57,1860.57,1862.57,1864.56,1866.56,1868.56,1870.55,1872.55,1874.55,1876.54,1878.54,1880.54,1882.54,1884.53,1886.53,1888.53,1890.52,1892.52,1894.52,1896.51,1898.51,1900.51,1902.5,1904.5,1906.5,1908.5,1910.49,1912.49,1914.49,1916.48,1918.48,1920.48,1922.47,1924.47,1926.47,1928.47,1930.46,1932.46,1934.46,1936.45,1938.45,1940.45,1942.44,1944.44,1946.44,1948.43,1950.43,1952.43,1954.43,1956.42,1958.42,1960.42,1962.41,1964.41,1966.41,1968.4,1970.4,1972.4,1974.39,1976.39,1978.39,1980.39,1982.38,1984.38,1986.38,1988.37,1990.37,1992.37,1994.36,1996.36,1998.36,2000.36,2002.35,2004.35,2006.35,2008.34,2010.34,2012.34,2014.33,2016.33,2018.33,2020.32,2022.32,2024.32,2026.32,2028.31,2030.31,2032.31,2034.3,2036.3,2038.3,2040.29,2042.29,2044.29,2046.29,2048.28,2050.28,2052.28,2054.27,2056.27,2058.27,2060.26,2062.26,2064.26,2066.25,2068.25,2070.25,2072.25,2074.24,2076.24,2078.24,2080.23,2082.23,2084.23,2086.22,2088.22,2090.22,2092.22,2094.21,2096.21,2098.21,2100.2,2102.2,2104.2,2106.19,2108.19,2110.19,2112.18,2114.18,2116.18,2118.18,2120.17,2122.17,2124.17,2126.16,2128.16,2130.16,2132.15,2134.15,2136.15,2138.14,2140.14,2142.14,2144.14,2146.13,2148.13,2150.13,2152.12,2154.12,2156.12,2158.11,2160.11,2162.11,2164.11,2166.1,2168.1,2170.1,2172.09,2174.09,2176.09,2178.08,2180.08,2182.08,2184.07,2186.07,2188.07,2190.07,2192.06,2194.06,2196.06,2198.05,2200.05,2202.05,2204.04,2206.04,2208.04,2210.04,2212.03,2214.03,2216.03,2218.02,2220.02,2222.02,2224.01,2226.01,2228.01,2230.0,2232.0,2234.0,2236.0,2237.99,2239.99,2241.99,2243.98,2245.98,2247.98,2249.97,2251.97,2253.97,2255.96,2257.96,2259.96,2261.96,2263.95,2265.95,2267.95,2269.94,2271.94,2273.94,2275.93,2277.93,2279.93,2281.93,2283.92,2285.92,2287.92,2289.91,2291.91,2293.91,2295.9,2297.9,2299.9,2301.89,2303.89,2305.89,2307.89,2309.88,2311.88,2313.88,2315.87,2317.87,2319.87,2321.86,2323.86,2325.86,2327.86,2329.85,2331.85,2333.85,2335.84,2337.84,2339.84,2341.83,2343.83,2345.83,2347.82,2349.82,2351.82,2353.82,2355.81,2357.81,2359.81,2361.8,2363.8,2365.8,2367.79,2369.79,2371.79,2373.79,2375.78,2377.78,2379.78,2381.77,2383.77,2385.77,2387.76,2389.76,2391.76,2393.75,2395.75,2397.75,2399.75,2401.74,2403.74,2405.74,2407.73,2409.73,2411.73,2413.72,2415.72,2417.72,2419.71,2421.71,2423.71,2425.71,2427.7,2429.7,2431.7,2433.69,2435.69,2437.69,2439.68,2441.68,2443.68,2445.68,2447.67,2449.67,2451.67,2453.66,2455.66,2457.66,2459.65,2461.65,2463.65,2465.64,2467.64,2469.64,2471.64,2473.63,2475.63,2477.63,2479.62,2481.62,2483.62,2485.61,2487.61,2489.61,2491.61,2493.6,2495.6,2497.6,2499.59,2501.59,2503.59,2505.58,2507.58,2509.58,2511.57,2513.57,2515.57,2517.57,2519.56,2521.56,2523.56,2525.55,2527.55,2529.55,2531.54,2533.54,2535.54,2537.54,2539.53,2541.53,2543.53,2545.52,2547.52,2549.52,2551.51,2553.51,2555.51,2557.5,2559.5,2561.5,2563.5,2565.49,2567.49,2569.49,2571.48,2573.48,2575.48,2577.47,2579.47,2581.47,2583.46,2585.46,2587.46,2589.46,2591.45,2593.45,2595.45,2597.44,2599.44,2601.44,2603.43,2605.43,2607.43,2609.43,2611.42,2613.42,2615.42,2617.41,2619.41,2621.41,2623.4,2625.4,2627.4,2629.39,2631.39,2633.39,2635.39,2637.38,2639.38,2641.38,2643.37,2645.37,2647.37,2649.36,2651.36,2653.36,2655.36,2657.35,2659.35,2661.35,2663.34,2665.34,2667.34,2669.33,2671.33,2673.33,2675.32,2677.32,2679.32,2681.32,2683.31,2685.31,2687.31,2689.3,2691.3,2693.3,2695.29,2697.29,2699.29,2701.28,2703.28,2705.28,2707.28,2709.27,2711.27,2713.27,2715.26,2717.26,2719.26,2721.25,2723.25,2725.25,2727.25,2729.24,2731.24,2733.24,2735.23,2737.23,2739.23,2741.22,2743.22,2745.22,2747.21,2749.21,2751.21,2753.21,2755.2,2757.2,2759.2,2761.19,2763.19,2765.19,2767.18,2769.18,2771.18,2773.18,2775.17,2777.17,2779.17,2781.16,2783.16,2785.16,2787.15,2789.15,2791.15,2793.14,2795.14,2797.14,2799.14,2801.13,2803.13,2805.13,2807.12,2809.12,2811.12,2813.11,2815.11,2817.11,2819.11,2821.1,2823.1,2825.1,2827.09,2829.09,2831.09,2833.08,2835.08,2837.08,2839.07,2841.07,2843.07,2845.07,2847.06,2849.06,2851.06,2853.05,2855.05,2857.05,2859.04,2861.04,2863.04,2865.03,2867.03,2869.03,2871.03,2873.02,2875.02,2877.02,2879.01,2881.01,2883.01,2885.0,2887.0,2889.0,2891.0,2892.99,2894.99,2896.99,2898.98,2900.98,2902.98,2904.97,2906.97,2908.97,2910.96,2912.96,2914.96,2916.96,2918.95,2920.95,2922.95,2924.94,2926.94,2928.94,2930.93,2932.93,2934.93,2936.93,2938.92,2940.92,2942.92,2944.91,2946.91,2948.91,2950.9,2952.9,2954.9,2956.89,2958.89,2960.89,2962.89,2964.88,2966.88,2968.88,2970.87,2972.87,2974.87,2976.86,2978.86,2980.86,2982.86,2984.85,2986.85,2988.85,2990.84,2992.84,2994.84,2996.83,2998.83,3000.83,3002.82,3004.82,3006.82,3008.82,3010.81,3012.81,3014.81,3016.8,3018.8,3020.8,3022.79,3024.79,3026.79,3028.78,3030.78,3032.78,3034.78,3036.77,3038.77,3040.77,3042.76,3044.76,3046.76,3048.75,3050.75,3052.75,3054.75,3056.74,3058.74,3060.74,3062.73,3064.73,3066.73,3068.72,3070.72,3072.72,3074.71,3076.71,3078.71,3080.71,3082.7,3084.7,3086.7,3088.69,3090.69,3092.69,3094.68,3096.68,3098.68,3100.68,3102.67,3104.67,3106.67,3108.66,3110.66,3112.66,3114.65,3116.65,3118.65,3120.64,3122.64,3124.64,3126.64,3128.63,3130.63,3132.63,3134.62,3136.62,3138.62,3140.61,3142.61,3144.61,3146.6,3148.6,3150.6,3152.6,3154.59,3156.59,3158.59,3160.58,3162.58,3164.58,3166.57,3168.57,3170.57,3172.57,3174.56,3176.56,3178.56,3180.55,3182.55,3184.55,3186.54,3188.54,3190.54,3192.53,3194.53,3196.53,3198.53,3200.52,3202.52,3204.52,3206.51,3208.51,3210.51,3212.5,3214.5,3216.5,3218.5,3220.49,3222.49,3224.49,3226.48,3228.48,3230.48,3232.47,3234.47,3236.47,3238.46,3240.46,3242.46,3244.46,3246.45,3248.45,3250.45,3252.44,3254.44,3256.44,3258.43,3260.43,3262.43,3264.43,3266.42,3268.42,3270.42,3272.41,3274.41,3276.41,3278.4,3280.4,3282.4,3284.39,3286.39,3288.39,3290.39,3292.38,3294.38,3296.38,3298.37,3300.37,3302.37,3304.36,3306.36,3308.36,3310.35,3312.35,3314.35,3316.35,3318.34,3320.34,3322.34,3324.33,3326.33,3328.33,3330.32,3332.32,3334.32,3336.32,3338.31,3340.31,3342.31,3344.3,3346.3,3348.3,3350.29,3352.29,3354.29,3356.28,3358.28,3360.28,3362.28,3364.27,3366.27,3368.27,3370.26,3372.26,3374.26,3376.25,3378.25,3380.25,3382.25,3384.24,3386.24,3388.24,3390.23,3392.23,3394.23,3396.22,3398.22,3400.22,3402.21,3404.21,3406.21,3408.21,3410.2,3412.2,3414.2,3416.19,3418.19,3420.19,3422.18,3424.18,3426.18,3428.17,3430.17,3432.17,3434.17,3436.16,3438.16,3440.16,3442.15,3444.15,3446.15,3448.14,3450.14,3452.14,3454.14,3456.13,3458.13,3460.13,3462.12,3464.12,3466.12,3468.11,3470.11,3472.11,3474.1,3476.1,3478.1,3480.1,3482.09,3484.09,3486.09,3488.08,3490.08,3492.08,3494.07,3496.07,3498.07,3500.07,3502.06,3504.06,3506.06,3508.05,3510.05,3512.05,3514.04,3516.04,3518.04,3520.03,3522.03,3524.03,3526.03,3528.02,3530.02,3532.02,3534.01,3536.01,3538.01,3540.0,3542.0,3544.0,3546.0,3547.99,3549.99,3551.99,3553.98,3555.98,3557.98,3559.97,3561.97,3563.97,3565.96,3567.96,3569.96,3571.96,3573.95,3575.95,3577.95,3579.94,3581.94,3583.94,3585.93,3587.93,3589.93,3591.92,3593.92,3595.92,3597.92,3599.91,3601.91,3603.91,3605.9,3607.9,3609.9,3611.89,3613.89,3615.89,3617.89,3619.88,3621.88,3623.88,3625.87,3627.87,3629.87,3631.86,3633.86,3635.86,3637.85,3639.85,3641.85,3643.85,3645.84,3647.84,3649.84,3651.83,3653.83,3655.83,3657.82,3659.82,3661.82,3663.82,3665.81,3667.81,3669.81,3671.8,3673.8,3675.8,3677.79,3679.79,3681.79,3683.78,3685.78,3687.78,3689.78,3691.77,3693.77,3695.77,3697.76,3699.76,3701.76,3703.75,3705.75,3707.75,3709.75,3711.74,3713.74,3715.74,3717.73,3719.73,3721.73,3723.72,3725.72,3727.72,3729.71,3731.71,3733.71,3735.71,3737.7,3739.7,3741.7,3743.69,3745.69,3747.69,3749.68,3751.68,3753.68,3755.67,3757.67,3759.67,3761.67,3763.66,3765.66,3767.66,3769.65,3771.65,3773.65,3775.64,3777.64,3779.64,3781.64,3783.63,3785.63,3787.63,3789.62,3791.62,3793.62,3795.61,3797.61,3799.61,3801.6,3803.6,3805.6,3807.6,3809.59,3811.59,3813.59,3815.58,3817.58,3819.58,3821.57,3823.57,3825.57,3827.57,3829.56,3831.56,3833.56,3835.55,3837.55,3839.55,3841.54,3843.54,3845.54,3847.53,3849.53,3851.53,3853.53,3855.52,3857.52,3859.52,3861.51,3863.51,3865.51,3867.5,3869.5,3871.5,3873.49,3875.49,3877.49,3879.49,3881.48,3883.48,3885.48,3887.47,3889.47,3891.47,3893.46,3895.46,3897.46,3899.46,3901.45,3903.45,3905.45,3907.44,3909.44,3911.44,3913.43,3915.43,3917.43,3919.42,3921.42,3923.42,3925.42,3927.41,3929.41,3931.41,3933.4,3935.4,3937.4,3939.39,3941.39,3943.39,3945.39,3947.38,3949.38,3951.38,3953.37,3955.37,3957.37,3959.36,3961.36,3963.36,3965.35,3967.35,3969.35,3971.35,3973.34,3975.34,3977.34,3979.33,3981.33,3983.33,3985.32,3987.32,3989.32,3991.32,3993.31,3995.31,3997.31,3999.3,4001.3,4003.3,4005.29,4007.29,4009.29,4011.28,4013.28,4015.28,4017.28,4019.27,4021.27,4023.27,4025.26,4027.26,4029.26,4031.25,4033.25,4035.25,4037.24,4039.24,4041.24,4043.24,4045.23,4047.23,4049.23,4051.22],"sy":[54.97,55.29,54.65,54.97,55.61,54.32,54.65,55.29,56.58,54.0,53.68,53.35,53.68,54.32,55.61,53.03,52.71,53.03,52.39,52.71,53.35,54.65,52.06,52.39,53.03,54.32,51.74,51.42,51.1,50.77,51.1,51.74,53.03,50.45,50.13,49.81,49.48,49.16,48.84,48.52,48.84,48.19,48.52,49.16,47.87,48.19,48.84,47.55,47.22,47.55,46.9,46.58,46.26,46.58,47.22,48.52,51.1,45.93,46.26,45.61,45.29,45.61,44.97,45.29,45.93,47.22,49.81,54.97,44.64,44.32,44.0,43.68,43.35,43.68,43.03,42.71,42.39,42.06,42.39,43.03,44.32,46.9,41.74,42.06,41.42,41.09,40.77,41.09,40.45,40.13,40.45,39.8,40.13,39.48,39.16,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84,38.84]},{"panel":0,"label":"the +50 target","color":"var(--chart-blue, #3b6ea5)","x":[0.0,1.0],"y":[50.0,50.0],"sx":[57.32,59.32],"sy":[38.84,38.84]},{"panel":1,"label":"plays that reach +50 (%)","color":"var(--chart-maroon, #b6262c)","x":[31.0,63.0,127.0,255.0,511.0,1023.0,4095.0],"y":[32.1,47.95,67.85,78.55,87.6,94.75,100.0],"sx":[80.01,145.92,211.07,275.86,340.46,404.96,533.87],"sy":[420.15,396.83,367.54,351.79,338.47,327.94,320.22]},{"panel":1,"label":"mean final winnings (dollars)","color":"var(--chart-blue, #3b6ea5)","x":[31.0,63.0,127.0,255.0,511.0,1023.0,4095.0],"y":[-4.999,-8.8165,-6.9055,-15.4225,-19.564,-5.8675,50.0],"sx":[80.01,145.92,211.07,275.86,340.46,404.96,533.87],"sy":[474.76,480.38,477.56,490.1,496.2,476.04,393.81]}]}
2026-10-15T23:34:22.289133
image/svg+xml
Matplotlib v3.11.2, https://matplotlib.org/
0
50
100
150
200
250
Spin number
−500
−400
−300
−200
−100
0
Winnings so far (dollars)
1. Ten plays of the doubling rule with no bankroll limit
one play (winnings after each spin)
the +50 target
31
63
127
255
511
1023
no limit
Bankroll (dollars, log scale)
−20
0
20
40
60
80
100
Percent of plays, or dollars
2. A bigger bankroll wins more often, and the average play still loses
plays that reach +50 (%)
mean final winnings (dollars)
Three things in that table. A bigger bankroll raises the hit rate , from 32% to 95%, and the
median flips from a total loss to +$50 somewhere around $100. The mean stays negative the
whole way, because each doubling of the bankroll makes the rare loss twice as big while only
roughly halving its probability; the expected value of the game never changed, and the simulated
means wobble between −5 and −20 dollars because a handful of busts decide them. And the median
says +$50 for every bankroll above $127 while the mean says you are losing. Median hides the
tail; mean shows it. That is the whole lesson of drawdown and of Sortino in one table, and it is
why a strategy with a high hit rate can still lose money. The “unlimited” row is the only one with
a positive mean, and it is bought with bets of two million dollars.
Arbitrage proper means identical payoffs with both legs at once; high correlation is not identical
payoff. A z-score measures how unusual a spread is, not a promise that it converges. Four limits
to arbitrage: costs and carry, capital and margin calls, crowding, borrow cost and recall.
Case Working Result Same stock at 50.00 and 50.40, costs 0.10 0.40 − 0.10 $0.30 riskless Spread 5, mean 0, σ 2 5/2 z = 2.5: short the rich leg, long the cheap one Pair: long 100k at +5%, short 100k at +8% 5k − 8k −$3k: dollar neutral is not safe Anomaly 6% gross, 7% costs −1%: real but untradeable Merger: offer 50, price 48, 90 days 4.2% × 365/90 about 16.9% annualised
Trap Truth A profitable backtest disproves weak-form efficiency Needs out-of-sample and costs A random walk has no streaks Streaks by chance z = 2.5 means it will converge No High hit rate means profit Sizes matter; the roulette table
Data lies in known ways
Full post: Data that lies .
Most “alpha” in a backtest is a data bug. Know each bug and its fix.
Bug What goes wrong Fix Look-ahead uses data not yet known release timestamps, a realistic lag, .shift(1) Label overlap forward-looking labels near the split peek into the test period purge rows near the boundary, add an embargo gap Survivorship today’s index members used for the past a point-in-time universe, including the dead names Data snooping test 1,000 ideas, keep the lucky ones count the trials; fresh data Revisions restated figures that were unknown at the time as-first-released data Splits, dividends unadjusted prices show a fake −50% or miss the cash adjusted close, total return Stale prices forward-filled gaps become fake zero returns then a jump flag no-trade days
Three habits that handle most of the table. Read the adjusted close , which folds splits and
dividends into earlier prices (a 2-for-1 split halves every earlier price; a dividend trims them by
its yield). Fill price gaps forward first, then backward only where nothing came before, so a
trading halt repeats the last known price. Keep the dead tickers in the universe; a bankrupt
company’s symbol often ends in Q, and a price folder that still has those files is what a
point-in-time universe looks like on disk. Survivor-only databases flatter cheap-stock and
mean-reversion strategies most: one published check found a strategy returning −42% on full data
and +388% on survivors only.
Case Working Result 1,000 useless signals tested at 5% 1,000 × 0.05 about 50 look significant by luck Bonferroni for 100 tests at 5% 0.05/100 each must pass 0.05% $50 to $48 with a $2 dividend (48 + 2 − 50)/50 total return 0%, price-only says −4% Last print $4.00, holders get $0.50 (0.5 − 4)/4 −87.5% delisting return
A new factor should clear a t-statistic of about 3, not 2, given how many have been tried. If test
results guide your design, the holdout has become training data.
Trap Truth More survivor data fixes survivorship No 50 hits out of 1,000 are 50 real signals Expected by chance Revised data is better for backtests Unknowable then
A strategy is a chain, judged net at the end
Full post: Backtesting in Python .
Hypothesis, data, signal, sizing, execution, costs, evaluation. Every link can silently break it,
so judge the net result at the end, not the signal at the start.
Case Working Result Edge 0.01%, cost 0.02% do not trade 3 wins of $10k at +1%, 1 loss of $100k at −1% 300 − 1,000 −$700 despite a 75% hit rate 40% daily turnover on $10M at 0.10%, $3k gross a day 0.4 × 10M × 0.001 = 4k −$1,000 a day Same 2% forecast, volatility 10% vs 40% size ∝ forecast/σ 4:1, the riskier gets less Edge 0.50%, impact 0.10 / 0.30 / 0.70% 0.40 / 0.20 / −0.20%: capacity binds $120M long + $120M short on $40M equity 240/40 6× gross; net zero is not low risk $30M exposure, $10M equity, 2% move 0.02 × 30/10 6% of equity
The chain in one line: the optimiser above scored 1.76 on the years it was fitted to and 0.42 on
the two that followed, and a cost model then takes about 1% per round trip off whatever that
strategy trades. A benchmark must
match the mandate: long-only equity against a broad equity index, not against cash, because
beating cash in a bull market is just beta.
When live results lag the backtest, check in this order: bugs, trades that differ from the backtest,
costs, illiquid names, data snooping, regime change.
Topic Formula Remember Cumulative return ∏ ( 1 + r ) − 1 \prod (1 + r) - 1 ∏ ( 1 + r ) − 1 multiply CAGR ( V end / V start ) 1 / T − 1 (V_{\text{end}}/V_{\text{start}})^{1/T} - 1 ( V end / V start ) 1/ T − 1 root, not divide Annualise return ( 1 + r ) n − 1 (1 + r)^n - 1 ( 1 + r ) n − 1 n n n = 12 or 252Annualise σ, Sharpe × n \times \sqrt{n} × n √252 ≈ 15.87, √12 ≈ 3.46 Recovery 1 / ( 1 − L ) − 1 1/(1 - L) - 1 1/ ( 1 − L ) − 1 −50% needs +100% Sharpe ( R − R f ) / σ (R - R_f)/\sigma ( R − R f ) / σ total risk Sortino ( R − T ) / σ down (R - T)/\sigma_{\text{down}} ( R − T ) / σ down bad risk only Information ratio ( R − R b ) / tracking error (R - R_b)/\text{tracking error} ( R − R b ) / tracking error against a benchmark Covariance ρ σ A σ B \rho\,\sigma_A\sigma_B ρ σ A σ B carries units Two-asset variance w A 2 σ A 2 + w B 2 σ B 2 + 2 w A w B ρ σ A σ B w_A^2\sigma_A^2 + w_B^2\sigma_B^2 + 2w_Aw_B\rho\sigma_A\sigma_B w A 2 σ A 2 + w B 2 σ B 2 + 2 w A w B ρ σ A σ B ρ only in the cross term Perfect hedge w A / w B = σ B / σ A w_A/w_B = \sigma_B/\sigma_A w A / w B = σ B / σ A inverse to volatility Turnover 1 2 ∑ ∣ Δ w ∣ \tfrac{1}{2}\sum \lvert \Delta w \rvert 2 1 ∑ ∣ Δ w ∣ half Beta Cov ( r i , r m ) / Var ( r m ) = ρ σ i / σ m \text{Cov}(r_i, r_m)/\text{Var}(r_m) = \rho\,\sigma_i/\sigma_m Cov ( r i , r m ) / Var ( r m ) = ρ σ i / σ m a slope CAPM R f + β ( R m − R f ) R_f + \beta(R_m - R_f) R f + β ( R m − R f ) required return Alpha actual − CAPM skill, if real Hedge size dollars × β_asset / β_hedge beta-dollars Present value F V / ( 1 + r ) n FV/(1 + r)^n F V / ( 1 + r ) n divide Gordon D 1 / ( r − g ) D_1/(r - g) D 1 / ( r − g ) needs r > g r > g r > g Margin of safety ( V − P ) / V (V - P)/V ( V − P ) / V divide by value Spread, mid ask − bid; (ask + bid)/2 buyer pays the ask Impact cost price × (1 ± impact) plus commission per order False positives tests × α 1,000 × 5% = 50 Total return ( P 1 + D − P 0 ) / P 0 (P_1 + D - P_0)/P_0 ( P 1 + D − P 0 ) / P 0 include the dividend Gross leverage (long + short)/equity net 0 is not safe 2 and 20 2% + 20% × (return − 2%) absolute return Roulette doubling rule bust after k k k losses in a row, P = 0.5135 k P = 0.5135^k P = 0.513 5 k the median wins, the mean loses
The arithmetic to be fluent in
Multiply growth factors; CAGR with a root; geometric mean.
Daily to annual: σ × 15.87, Sharpe × 15.87; monthly × 3.46.
Recovery gain after a loss; drawdown from the peak.
Two-asset variance with the cross term, then the square root.
Beta, CAPM, alpha, hedge size, beta-neutral weights.
Present value, Gordon, margin of safety.
Walk the book, slippage, short profit net of dividend and fee, impact plus commission.
The roulette expected value: p × win − ( 1 − p ) × loss p \times \text{win} - (1 - p) \times \text{loss} p × win − ( 1 − p ) × loss , and a run of k k k losses as 0.5135 k 0.5135^k 0.513 5 k .
The script
Every number and chart above comes from one script, which runs in a few seconds with
uv run (the dependencies are declared at the top of the file). It uses the blog’s shared
price file and two small helpers for loading prices and drawing charts.
The full script, 151 lines
# /// script
# requires-python = ">=3.11"
# dependencies = ["numpy", "pandas", "matplotlib", "scipy"]
# ///
"""Numbers and charts for the post "Quantitative finance in ten ideas".
A doubling-rule betting simulation on a European roulette wheel, and a Sharpe-maximising optimiser
(SciPy SLSQP) run on the blog's shared prices (SPY, AAPL, JPM, XOM, GLD, 2019-2023).
Run: uv run examples/quant-finance-in-ten-ideas/ten_ideas.py
"""
import sys
from pathlib import Path
import matplotlib . pyplot as plt
import numpy as np
import pandas as pd
from scipy . optimize import minimize
sys . path . insert ( 0 , str ( Path ( __file__ ). resolve (). parents [ 1 ]))
import chartstyle as cs # noqa: E402
import market_data as md # noqa: E402
OUT = Path ( __file__ ). resolve (). parents [ 2 ] / "public" / "posts" / "quant-finance-in-ten-ideas"
K = np . sqrt ( 252 )
def p ( label , value ):
print ( f " { label :<66 } { value } " )
# ------------------------------------------------------------ the doubling rule ----
# European roulette: 18 of 37 pockets are red and a red bet pays even money, so the house keeps
# 2.7% of every dollar. The doubling rule: bet 1, double after every loss, back to 1 after a
# win, stop at +50.
P_WIN , TARGET , SPINS = 18 / 37 , 50 , 2000
def play ( rng , bankroll = None ):
"""One play: winnings after each round, frozen once the target is hit or the bankroll is
gone. bankroll=None means unlimited."""
w = np . zeros ( SPINS + 1 )
bet , total = 1 , 0
for s in range ( 1 , SPINS + 1 ):
if total >= TARGET :
w [ s :] = total; break
if bankroll is not None :
if bankroll + total <= 0 :
w [ s :] = - bankroll; break
bet = min ( bet , bankroll + total )
if rng . random () < P_WIN :
total += bet; bet = 1
else :
total -= bet; bet *= 2
w [ s ] = total
return w
rng = np . random . default_rng ( 42 )
print ( " \n == the doubling rule ==" )
p ( "P(win a spin)" , f " { P_WIN :.4f } ; expected value per dollar bet { P_WIN - ( 1 - P_WIN ) :+.4f } " )
for k in ( 5 , 7 , 9 ):
p ( f "P( { k } losses in a row)" , f " { ( 1 - P_WIN ) ** k :.3% } ; after them: lost { 2 ** k - 1 } , next bet { 2 ** k } " )
ten = np . array ([ play ( rng ) for _ in range ( 10 )])
bankrolls = [ 31 , 63 , 127 , 255 , 511 , 1023 , None ]
sweep = []
for bk in bankrolls :
plays = np . array ([ play ( rng , bk ) for _ in range ( 2000 )])
f = plays [:, - 1 ]
hit = ( f >= TARGET ). mean () ; bust = ( bk is not None ) and ( f <= - bk ). mean () or 0.0
sweep . append (( bk , hit , bust , f . mean (), np . median ( f ), f . std ()))
p ( f "bankroll { str ( bk ) if bk else 'unlimited' :>9 } : hit +50 / lose all / mean / median" , f " { hit :.1% } / { bust :.1% } / { f . mean () :+.1f } / { np . median ( f ) :+.0f } " )
unl = plays
p ( "unlimited: median spins to reach +50" , f " { np . median ([( row != row [ - 1 ]). sum () for row in unl ]) :.0f } " )
p ( "unlimited: worst dip seen across 2,000 plays" , f " { unl . min () :+.0f } " )
# ---------------------------------------------------------------- optimiser ----
px = md . prices ()
r = md . daily_returns ( px )
def sharpe_of ( v ):
rr = np . diff ( v ) / v [: - 1 ]
return K * rr . mean () / rr . std ( ddof = 1 )
def optimise ( prices ):
norm = ( prices / prices . iloc [ 0 ]). to_numpy ()
n = norm . shape [ 1 ]
res = minimize ( lambda w : - sharpe_of ( norm @ w ), np . full ( n , 1 / n ), method = "SLSQP" ,
bounds = [( 0 , 1 )] * n , constraints = { "type" : "eq" , "fun" : lambda w : w . sum () - 1 })
w = np . clip ( res . x , 0 , 1 ) ; return w / w . sum ()
def perf ( prices , w ):
norm = ( prices / prices . iloc [ 0 ]). to_numpy ()
v = norm @ w
return sharpe_of ( v ), v [ - 1 ] / v [ 0 ] - 1
print ( " \n == optimiser: chosen on one period, run on the next ==" )
windows = [( "2019" , "2020" ), ( "2020" , "2021" ), ( "2021" , "2022" ), ( "2022" , "2023" ), ( "2019-2021" , "2022-2023" )]
rows = []
for a , b in windows :
pa = px . loc [ a . split ( "-" )[ 0 ]: a . split ( "-" )[ - 1 ]]
pb = px . loc [ b . split ( "-" )[ 0 ]: b . split ( "-" )[ - 1 ]]
w = optimise ( pa )
eq = np . full ( 5 , 0.2 )
s_in , _ = perf ( pa , w ) ; s_out , r_out = perf ( pb , w ) ; s_eq , r_eq = perf ( pb , eq )
singles = { t : sharpe_of (( pa [ t ] / pa [ t ]. iloc [ 0 ]). to_numpy ()) for t in md . TICKERS }
rows . append (( a , b , w , s_in , s_out , r_out , s_eq , r_eq ))
p ( f "chosen on { a } : weights" , " " . join ( f " { t } : { x :.0% } " for t , x in zip ( md . TICKERS , w )))
p ( f " singles' Sharpe on { a } " , " " . join ( f " { t } : { s :.2f } " for t , s in singles . items ()))
p ( f " Sharpe in-sample { a } / out-of-sample { b } / equal weights { b } " , f " { s_in :.2f } / { s_out :.2f } / { s_eq :.2f } " )
p ( f " return on { b } : optimised / equal weights" , f " { r_out :+.1% } / { r_eq :+.1% } " )
print ( " \n == diversification: four-asset mix vs its members ==" )
for yr in [ "2020" , "2021" ]:
sub = r . loc [ yr , [ "SPY" , "AAPL" , "JPM" , "XOM" ]]
mix = sub . mean ( axis = 1 )
p ( f " { yr } : daily sigma of each" , " " . join ( f " { t } : { sub [ t ]. std () :.2% } " for t in sub ))
p ( f " { yr } : equal-weight mix sigma, average pairwise correlation" , f " { mix . std () :.2% } , { sub . corr (). values [ np . triu_indices ( 4 , 1 )]. mean () :.2f } " )
# ------------------------------------------------------------------- charts ----
cs . apply ()
fig , ( a1 , a2 ) = plt . subplots ( 2 , 1 , figsize = ( 8 , 3.8 * 2 ))
rounds = np . arange ( SPINS + 1 )
cs . title ( a1 , "Ten plays of the doubling rule with no bankroll limit" , 1 )
for i in range ( 10 ):
a1 . plot ( rounds , ten [ i ], color = cs . MAROON if i == 0 else cs . GREY , lw = 1.2 if i == 0 else 0.9 ,
alpha = 1 if i == 0 else 0.6 , label = "one play (winnings after each spin)" if i == 0 else "_x" )
a1 . axhline ( TARGET , color = cs . BLUE , lw = 1 , ls = "--" , label = "the +50 target" )
a1 . set_xlim ( 0 , 250 ) ; a1 . set_ylim ( - 520 , 80 ) ; a1 . set_xlabel ( "Spin number" ) ; a1 . set_ylabel ( "Winnings so far (dollars)" ) ; a1 . legend ()
cs . title ( a2 , "A bigger bankroll wins more often, and the average play still loses" , 2 )
xs = [ bk if bk else 4095 for bk , * _ in sweep ]
a2 . plot ( xs , [ 100 * h for _ , h , * _ in sweep ], color = cs . MAROON , marker = "o" , ms = 4 , label = "plays that reach +50 (%)" )
a2 . plot ( xs , [ m for * _ , m , _ , _ in sweep ], color = cs . BLUE , marker = "o" , ms = 4 , label = "mean final winnings (dollars)" )
a2 . axhline ( 0 , color = cs . GREY , lw = 0.8 )
a2 . set_xscale ( "log" , base = 2 ) ; a2 . set_xticks ( xs ) ; a2 . set_xticklabels ([ str ( bk ) if bk else "no limit" for bk , * _ in sweep ])
a2 . set_xlabel ( "Bankroll (dollars, log scale)" ) ; a2 . set_ylabel ( "Percent of plays, or dollars" ) ; a2 . legend ()
cs . save ( fig , OUT / "doubling-rule.svg" )
fig , ax = plt . subplots ( 1 , 1 , figsize = ( 8 , 3.8 ))
cs . title ( ax , "Weights chosen on 2019 to 2021, then run on 2022 to 2023, against equal weights" )
a , b , w , * _ = rows [ - 1 ]
pb = px . loc [ "2022" : "2023" ]
norm = ( pb / pb . iloc [ 0 ]). to_numpy ()
ax . plot ( pb . index , norm @ w , color = cs . MAROON , label = "Sharpe-maximising weights from 2019 to 2021" )
ax . plot ( pb . index , norm @ np . full ( 5 , 0.2 ), color = cs . BLUE , label = "equal weights, 20 % e ach" )
ax . plot ( pb . index , ( pb [ "SPY" ] / pb [ "SPY" ]. iloc [ 0 ]). to_numpy (), color = cs . GREY , label = "SPY" )
ax . set_xlabel ( "Date" ) ; ax . set_ylabel ( "Value of 1 dollar invested at the start of 2022" ) ; ax . legend ()
cs . save ( fig , OUT / "optimised-vs-equal.svg" )