Monday, 19 February 2018
Option Workshop, version 18.2.1657
Dear Option Workshop users, our long-awaited update will be released today. We will update the documentation shortly, but until then, please take a look at the new features described in this post.
Telegram is one of the best messengers out there. It works perfectly on all platforms and allows developers to create automation bots. In our case, we have decided to create a bot which will transmit quotes for selected instruments and parameters of selected portfolios (strategies) to users’ smartphones. At first, we thought about developing our own mobile application, but finally decided to create a bot, since it provides enough to cover all our needs.
What we wanted to achieve:
- Give users the ability to transmit quotes of selected instruments from their Option Workshop instances to their smartphones;
- Give users the ability to transmit their strategy parameters in the same manner;
- Give users the ability to receive notifications on their smartphones then and instrument set up price or strategy P&L breaks limits, as defined by the user.
Below, what have we done.
Connect the Option Workshop running instance and a Telegram account
First, you have to connect your Option Workshop and Telegram accounts, running on either a smartphone or computer. To do this, open the Bot Management Window by clicking this button on the control panel to the left. In the window that appears, press Connect to telegram:
Then press the Add bot to your Telegram button; this will open a bot page in your browser. The browser will then ask for your confirmation to launch Telegram on your system and add the bot there.
After the bot is added to your Telegram contact list, you need to link Option Workshop and the bot by giving them both the same Access code. To get an access code, press “Request new access code”—the code will appear on the same form:
In Telegram, start a chat with the bot and then press the Start button. The bot will request an access code—enter the code you were given in the prior step. Now you are all set up.
Adding instruments and strategies to be transmitted
Now you can select instruments and strategies, which Option Workshop will then transmit to the Telegram bot. To add an instrument, select Add to watch menu item in the context menu of any instrument. The same goes for strategies. There are a couple images below demonstrating the process.
For instruments, you can set up a price range at the exit from which, Option Workshop will send a notification to the bot.
Similar setup for strategies:
And this is how it looks in Telegram:
Implied volatility smiles
Big changes are coming in a part of software responsible for pricing. Until now, we would build an IV curve by just taking the midmarket IV (sum of bid and offer divided by two). That was working fine for actively traded options during actively traded hours. But outside the US trading session, when spreads are big or for strikes which are far from ATM strike, there could be no orders at all, this approach would fail. We can’t figure out an IV and as a result can’t calculate theoretical price and Greeks.
What we have done in this update:
- Added the ability to build polynomial approximation of current market IV curve on central strikes.
- Added the ability to shift IV curve with underlying instrument price move.
The model works in the following way:
- User selects a basis – a number of central strikes at which midmarket IV’s will be used to fit the curve. Basis might be built symmetrically around ATM strike or shifted from ATM, either up or down.
- For strikes higher than ATM call options, IV will be taken; for lower strikes – puts IV.
- User can fit a polynom once or make program fit it each time basis changes.
- User can choose to make program use square root from X as a function, describing tails of the smile.
We have made some changes in our market-maker module aimed at minimizing the risk of operational errors and increasing the user’s speed and comfort when changing parameters. Now if you hold the Ctrl button while entering a spread value or number of contracts of some other parameter, this value will be applied to all the rows in a market maker. Also, the Alt+Enter combination now performs the Apply changes button feature.
Several errors were also fixed, including but not limited to:
- Rare situation when, after CQG connection is lost and restored, user might see positions which do not actually exist on the account;
- Positions table performance was not good enough when a strategy contained too many positions;
- In rare conditions, market-maker module could place an order whose execution might lead to a position whose size breaks the limits set up by the user.