Hello, I am trying to calculate the profit/loss of a short call at various times in the future, but it isn't coming out correct. Compared to the time of expiration, the ones with time left have less profit above the strike price, but at some point below the strike they don't lose value as fast as the t=0 line. Below is the formula in pseudocode, what am I doing wrong? profit(currentprice) = -1 * (black_scholes_price_of_call(currentStockPrice,optionStrike,daysTillExpiration) - premium); Thanks, CP

first of all profit != "currentprice" of option. Also, as MTE pointed out, premium does not care about whether you are long or short the call. Then you need 5 variables, not 4, to feed into the formula * underlying price * implied vol * strike * time to expiration * interest rate Please post the whole calculation of BS in order to see what you are doing wrong.

I'm guessing his equation assumes the PnL of a call holder (Long) = CurrentCallPrice - PremiumAlreadyPaidForBuyingTheCall which he then multiplies with -1 because he is short the call. Exactly what volatility and risk-free rates are you using? These don't appear as inputs. You do know that bog standard BSM (i.e., using historical vol plus all the other assumptions) is simply a quoting mechanism in the markets, right? BSM is the wrong equation using the wrong value (IV) to get the right price. I'm assuming you know all this right? (If not, have you read Fisher Black's classic paper I attached year many moons ago? Don't worry, it isn't full of PDEs or StochCalc, very easy to read. http://www.elitetrader.com/vb/showthread.php?s=&postid=1426006&highlight=*Scholes*#post1426006) [Edit] Is this homework? [/Edit]

Thanks for the help. I found the "problem" had to do with the finance rate input. When I make it zero, it looks like I was thinking it would. This is not homework per-se, but something I am tinkering with. Your answers have led me to 2 more questions: 1) What I am trying to do is to backtest some options strategies without historical options data, so I was using BSM to calculate simulated historical prices using Historical Volatility. I am using matlab with financial toolboxes, so what would be a better way to calculate simulated prices? 2) For the finance rate, what can I get a value for the current rate? Thanks, CP

you cannot simulate historical option prices without historical implied volatilities. Implieds != realized vol. You can download historical option prices and back out the implied vol, which would make a whole lot more sense. Its not the simplest approach because you would always need to keep track of moneyness and keep that constant and switch into new contracts when old ones expire, extract historic rates, and such forth. If you have an elaborate data library that contains all that then its doable otherwise move on to some other sort of homework project. But using historical realized vols to plug into BSM does not give you the historical premiums, not even close.