@@ -494,7 +494,7 @@ <h2 id="4-implementing-monte-carlo-simulation-in-python">4. Implementing Monte C
494
494
</ span > </ span > < span style ="display:flex; "> < span >
495
495
</ span > </ span > < span style ="display:flex; "> < span > < span style ="color:#75715e "> # Example usage</ span >
496
496
</ span > </ span > < span style ="display:flex; "> < span > S0 < span style ="color:#f92672 "> =</ span > < span style ="color:#ae81ff "> 100</ span > < span style ="color:#75715e "> # Initial stock price</ span >
497
- </ span > </ span > < span style ="display:flex; "> < span > K < span style ="color:#f92672 "> =</ span > < span style ="color:#ae81ff "> 100 </ span > < span style ="color:#75715e "> # Strike price</ span >
497
+ </ span > </ span > < span style ="display:flex; "> < span > K < span style ="color:#f92672 "> =</ span > < span style ="color:#ae81ff "> 98.5 </ span > < span style ="color:#75715e "> # Strike price</ span >
498
498
</ span > </ span > < span style ="display:flex; "> < span > T < span style ="color:#f92672 "> =</ span > < span style ="color:#ae81ff "> 1</ span > < span style ="color:#75715e "> # Time to maturity (in years)</ span >
499
499
</ span > </ span > < span style ="display:flex; "> < span > r < span style ="color:#f92672 "> =</ span > < span style ="color:#ae81ff "> 0.05</ span > < span style ="color:#75715e "> # Risk-free rate</ span >
500
500
</ span > </ span > < span style ="display:flex; "> < span > sigma < span style ="color:#f92672 "> =</ span > < span style ="color:#ae81ff "> 0.2</ span > < span style ="color:#75715e "> # Volatility</ span >
@@ -519,9 +519,7 @@ <h2 id="5-visualization-and-analysis">5. Visualization and Analysis</h2>
519
519
</ span > </ span > < span style ="display:flex; "> < span > plt< span style ="color:#f92672 "> .</ span > xlabel(< span style ="color:#e6db74 "> "Stock Price"</ span > )
520
520
</ span > </ span > < span style ="display:flex; "> < span > plt< span style ="color:#f92672 "> .</ span > ylabel(< span style ="color:#e6db74 "> "Frequency"</ span > )
521
521
</ span > </ span > < span style ="display:flex; "> < span > plt< span style ="color:#f92672 "> .</ span > show()
522
- </ span > </ span > </ code > </ pre > </ div > < img src ="%5cposts%5cfinance%5cmonte_carlo%5cBlack-Scholes%5cimages%5csimulation_path.png "
523
-
524
- alt ="Results "
522
+ </ span > </ span > </ code > </ pre > </ div > < img src ="/posts/finance/monte_carlo/Black-Scholes/images/simulation_path.png "
525
523
526
524
527
525
@@ -531,9 +529,10 @@ <h2 id="5-visualization-and-analysis">5. Visualization and Analysis</h2>
531
529
532
530
>
533
531
532
+ < hr >
534
533
< img src ="/posts/finance/monte_carlo/Black-Scholes/images/simulation_histogram.png "
535
534
536
- alt ="Results "
535
+ alt ="Histogram "
537
536
538
537
539
538
@@ -554,8 +553,8 @@ <h2 id="6-comparison-with-analytical-solutions">6. Comparison with Analytical So
554
553
</ span > </ span > < span style ="display:flex; "> < span > < span style ="color:#66d9ef "> return</ span > S0 < span style ="color:#f92672 "> *</ span > norm< span style ="color:#f92672 "> .</ span > cdf(d1) < span style ="color:#f92672 "> -</ span > K < span style ="color:#f92672 "> *</ span > np< span style ="color:#f92672 "> .</ span > exp(< span style ="color:#f92672 "> -</ span > r < span style ="color:#f92672 "> *</ span > T) < span style ="color:#f92672 "> *</ span > norm< span style ="color:#f92672 "> .</ span > cdf(d2)
555
554
</ span > </ span > < span style ="display:flex; "> < span >
556
555
</ span > </ span > < span style ="display:flex; "> < span > bs_price < span style ="color:#f92672 "> =</ span > black_scholes_call(S0, K, T, r, sigma)
557
- </ span > </ span > < span style ="display:flex; "> < span > print(< span style ="color:#e6db74 "> f</ span > < span style ="color:#e6db74 "> "Black-Scholes price: </ span > < span style ="color:#e6db74 "> {</ span > bs_price< span style ="color:#e6db74 "> :</ span > < span style ="color:#e6db74 "> .2f </ span > < span style ="color:#e6db74 "> }</ span > < span style ="color:#e6db74 "> "</ span > )
558
- </ span > </ span > < span style ="display:flex; "> < span > print(< span style ="color:#e6db74 "> f</ span > < span style ="color:#e6db74 "> "Monte Carlo price: </ span > < span style ="color:#e6db74 "> {</ span > price< span style ="color:#e6db74 "> :</ span > < span style ="color:#e6db74 "> .2f </ span > < span style ="color:#e6db74 "> }</ span > < span style ="color:#e6db74 "> "</ span > )
556
+ </ span > </ span > < span style ="display:flex; "> < span > print(< span style ="color:#e6db74 "> f</ span > < span style ="color:#e6db74 "> "Black-Scholes price: </ span > < span style ="color:#e6db74 "> {</ span > bs_price< span style ="color:#e6db74 "> :</ span > < span style ="color:#e6db74 "> .3f </ span > < span style ="color:#e6db74 "> }</ span > < span style ="color:#e6db74 "> "</ span > )
557
+ </ span > </ span > < span style ="display:flex; "> < span > print(< span style ="color:#e6db74 "> f</ span > < span style ="color:#e6db74 "> "Monte Carlo price: </ span > < span style ="color:#e6db74 "> {</ span > price< span style ="color:#e6db74 "> :</ span > < span style ="color:#e6db74 "> .3f </ span > < span style ="color:#e6db74 "> }</ span > < span style ="color:#e6db74 "> "</ span > )
559
558
</ span > </ span > < span style ="display:flex; "> < span > print(< span style ="color:#e6db74 "> f</ span > < span style ="color:#e6db74 "> "Difference: </ span > < span style ="color:#e6db74 "> {</ span > abs(bs_price < span style ="color:#f92672 "> -</ span > price)< span style ="color:#e6db74 "> :</ span > < span style ="color:#e6db74 "> .4f</ span > < span style ="color:#e6db74 "> }</ span > < span style ="color:#e6db74 "> "</ span > )
560
559
</ span > </ span > </ code > </ pre > </ div > < p > The difference between the two methods gives us an idea of the Monte Carlo simulation’s accuracy.</ p >
561
560
< blockquote >
0 commit comments