Welcome To Windex Pricer

For Options Pricing and Risk Management

Windex Pricer is a calculator that allows you to analyse portfolios of options on indexes, currencies and shares. As instruments are added to the portfolio the prices and the Greeks are calculated for various market conditions. By changing these conditions the behaviour of the portfolio is modelled. Windex Pricer can also generate tabulated results such as payoffs or plot them. It uses a complex but fast binomial pricing model that evaluates market paths over 1000s of iterations per instrument.

Use it now for free!

Download the full version for Windows

To remove an occasional prompt then please purchase a licence and support further development

For questions or comments please use our contact page



  • Enter 'market' to view the current market parameters.


  • Level - The current level of the underlying index, stock or currency exchange rate
  • Vol - The annualised volatility of the underlying
  • Rate - The risk-free cash interest rate
  • DivYld - The annualised dividend yield of the index or stock (for currencies use the foreign risk-free rate)
  • Time - The analysis time to the nearest minute
  • Trading - A measurement scheme for calculating time to expiry in years
  • Type 'set' followed by a market parameter and then the new value to change the market. These are 'level', 'vol', 'rate', divyld', 'date' and 'time'
  • Volatility and Rate are interpreted as percentages
  • Date is in the form ddmmmyy. eg 22sep07
  • If the date year is omitted then the current year is used
  • Time is in the form hh::mm eg 14:31
  • There is a special command 'set realtime' that lets the date and time vary as the real time changes
  • There are two trading schedules available
    1. Continuous - Counts all minutes between two times
    2. LSE - Counts only weekday minutes between 8:00 and 16:30



  • To add an instrument to the portfolio use the 'add' command.
  • To view the instruments type 'list'.
  • To remove an instrument use the 'del' command followed by the instrument number.


  • The quantity appears as the second argument with a sign attached eg '+2', '-7' etc
  • If the quantity is missing it is assumed to be '+1'
  • The third argument is the instrument name expressed as a strike and instrument character code. The following are allowed where X is the strike and S the underlying level.
  1. 'C' - Call option pays max(S-X,0)
  2. 'P' - Put option pays max(X-S,0)
  3. 'F' - Future pays S-X
  4. 'U' - Digital Up pays 100 if S > X otherwise nothing
  5. 'D' - Digital Down pays 100 if S < X otherwise nothing
  • Then add the expiry date in same the form as the market parameter eg ddmmmyy
  • the year may be omitted as with 'set date'
  • The time can be optionally added by appending @hh:mm eg '@16:30'
  • If it is missing then 23:59 is assumed



  • There are a number of calculations that can be performed.
  • Enter the name and the result is displayed. eg 'price' will return the total portfolio price
  • To value an individual instrument append it's number eg 'price[2]' will return the price of the second instrument
  • The available metrics are:
  • Price - The theoretical risk-neutral price
  • Delta - Price difference using market level +0.5 and -0.5
  • Gamma - Delta difference from using market level +0.5 and -0.5
  • Theta - Price difference using market date +1 day and current
  • Vega - Price difference using market volatility +0.5% and -0.5%
  • Rho - Price difference using market rate +0.5% and -0.5%
  • Calculations apply to the whole portfolio or individual instruments
  • To view the results across the whole portfolio use the 'list' command with a metric as a second argument eg 'list price'



What-if Analysis

  • View multiple what-if scenarios by looping over market parameters


  • For any of the non-time market parameters a loop is created using the 'for' command
  • The first argument is the market parameter to vary
  • The second argument the initial value
  • The third argument in a 'to' clause is the final value
  • An optional 'step' clause can be added to determine the size of each step. If it is omitted the steps are set as one tenth of the total range
  • After a ':' (colon) enter the metric to display as above either for the whole portfolio or an individual instrument
  • As with 'set' for 'vol' and 'rate' all values are assumed to be percentages



Using the same syntax as 'for' but replacing 'for' by 'plot' generates a line chart of the data
  • For this to work you must install GnuPlot for windows and set an environment variable 'GNUPLOT_ROOT' to the install location (ie above the 'bin' directory) eg c:\gnuplot
  • GnuPlot can be found here http://www.gnuplot.info. Make sure you download a win32 binary package
  • To add the environment variable:
  1. Right click 'My computer'
  2. Select 'Properties'
  3. Go to the 'Advanced' tab
  4. Click 'Environment Variables'
  5. Add a new variable to either section


Implied Volatilities

  • Implied volatilities can be deduced


  • Using the 'implvol' command the market volatility that would have to be used to give the observed price is calculated
  • The second argument is the observed price
  • To calculate the implied volatility of an individual instrument use 'implvol[n]' where n is the instrument number


Volatility Smiles

  • Smiles can be added as a quadratic on top of the at-the-money market volatility
  • The first parameter is the at-the-money strike. It appears as '-' if the current market level is to be used
  • To set the current market level as the fixed base strike type 'set stickystrike'
  • To allows the base strike to move with the market type 'set stickydelta'
  • The second parameter is the skew and the third the convexity
  • The volatility used at a given strike is as below with S the instrument strike and S0 the base strike defined whether sticky strike or sticky delta is used

vol + skew * (S - S0) + convexity * (S - S0)^2

  • To calibrate type 'calibrate' followed by a list of market prices for each instrument on the portfolio. The position size of the instruments is taken in to account during calibration which proceeds as a least-squares quadratic fit of the implied volalities
  • The implied volatilies are listed and their variation from the current market volatility
  • The at-the-money market volatility will also be updated



  • A risk-neutral binomial tree is used to price any instrument using 1000 steps until expiry. The jump at each step is exp(+/- sigma*sqrt(dt) ).
  • I don't accept any liability for losses incurred through the use of this software but it was written with a great deal of care and attention to accuracy.
  • Enjoy and tell me about it!


For those of you interested in Option trading and pricing the following links may prove useful