How to simulate selling straddles?

Quote from luckyputanski:

I think I get the point. However, even when I implemented rolling to ATM every day (once a day), selling straddles still losses money in my simulation. I must be either doing something wrong, or hedging once a day is too rarely.

What happens if you buy them?
 
Quote from comintel:

Where is the money lost? On the put side or the call side? Is it lost on big moves?
Well, it obviously depends which way market moves. In a year I can sell about 52 straddles and in total losses are almost always bigger than total credit. One easy answer would be that I calculate volatility in a wrong way, but I'm getting reasonable results. Here's the code:
double getVolatility(int DaysAhead) {
if (DaysAhead == 0) {
return 0;
}
DoubleArrayList Lns = new DoubleArrayList();
int i;
for (i = 1; i <= DaysAhead; i++) {
if (Day + i - 1 >= DayPricesIVs.size() - 1) {
break;
}
Lns.add(Math.log(DayPricesIVs.get(Day + i).Price / DayPricesIVs.get(Day + i - 1).Price));
}
double StdDev = Lns.NonCenteredVolatility();
double Vol = (StdDev * Math.sqrt(252)* DayPricesIVs.get(Day).Rand);
return Vol;
}

Non-centered vol functions:
double NonCenteredVolatility() {
int i;
double SumSq = 0;
for(i = 0; i < List.size(); i++)
SumSq += List.get(i) * List.get(i);
return Math.sqrt(SumSq / List.size());
}
 
Quote from luckyputanski:

It makes profit almost every year. (And that with IV slightly higher than future realized vol).

Depending on which years you tested, it may just be right.

The market has been trending up for the past few years overall.......
 
Quote from comintel:

Depending on which years you tested, it may just be right.

The market has been trending up for the past few years overall.......
It's a simulation with artificial prices with changes normally distributed. 1 simulation = 365 days. What I meant was "It makes money almost on every simulation". Strange.
 
Quote from luckyputanski:

Here's what I'm trying to do:
1. Fill an array with artificial prices which daily changes are normally distributed.
2. Simulate one year of selling 7 days straddles. Sell ATM call and put, take prices from BS formula. For implied volatility use future volatility (calculated on 7 days ahead). Calculations are done with non-centered volatility, result is multiplied by (0.95 + rand(15)/100.0). This is to simulate that IV is usually higher than HV.

I always thought, that if I sell vol which is higher than future realized, then I will be profitable. It seems I have to multiply realized vol by about 1.3 and use this number as IV to make selling straddles profitable. Is this expected? (no commissions in calculations).

just one question why?
 
Quote from luckyputanski:

It's a simulation with artificial prices with changes normally distributed. 1 simulation = 365 days. What I meant was "It makes money almost on every simulation". Strange.

Oh I thought you were using real prices.

If they are simulated, it may be pretty hard to untangle idiosyncrasies of the simulation or model from idiosyncrasies of the market.

It is still a very commendable endeavor though......I am trying simulations / back-testing also in R.
 
Quote from newgptrader:

just one question why?
Part of bigger simulation, I wanted to make sure first step is right. I expected, that over large number of simulations net result would about 0.
 
Quote from comintel:



If they are simulated, it may be pretty hard to untangle idiosyncrasies of the simulation or model from idiosyncrasies of the market.

I thought that Black-Scholes will value options correctly even if prices are fake.
 
Back
Top