Exotic Trades

Input Exotic Trades

1. Under 'Trade' in the navigation sidebar on the left, click 'Exotic Trades'.

 


2. There are 2 tabs - OPEN TRADES and CLOSED TRADES. The following user guide will apply for both tables.

There are 2 ways to input your exotic trades data:

a. Please click on Add Row to add new row and input your data or

 

b. Please click on New Trade and be directed to a new page to input your data

 


Description (only fields with * are compulsory, fields with ^ are required to be filled if certain criteria are met)

Settlement Date: Settlement date of closed exotic trades. Add Settlement Date and Options Settled Value to close open trade.

  • You may either input values (can be 0) for both columns or keep both columns empty (if either one is input, the other needs to be input too).

  • Once saved, the trade will switch from open trade table to closed trade table.

  • Settlement Date cannot be earlier than Trade Date

Options Settled Value: Market value of closed exotic trades, will be used to calculate P/L. Add Settlement Date and Options Settled Value to close open trade. You may either input values (can be 0) for both columns or keep both columns empty (if either one is input, the other needs to be input too). Once saved, the trade will switch from open trade table to closed trade table

Contract No.*: Contract number of trade, this contract number is unique and no duplication is allowed. All users cannot have the same contract number at any one time.

Broker*: If you have set up your broker data list (Setting>Company>Company Data>Paper Brokers), once you select the Account or Broker data, the corresponding Broker or Account data will be auto filled. Please click on https://mafint.atlassian.net/wiki/spaces/MCUGX/pages/680460289#CompanyData-%27PaperBrokers%27Table to learn more. If you have not set up, you may input any Broker data accordingly and the data will be saved in the dropdown list for your convenience.

Account*: If you have set up your broker data list (Setting>Company>Company Data>Paper Brokers), once you select the Account or Broker data, the corresponding Broker or Account data will be auto filled. Please click on https://mafint.atlassian.net/wiki/spaces/MCUGX/pages/680460289#CompanyData-%27PaperBrokers%27Table to learn more. If you have not set up, you may input any Account data accordingly and the data will be saved in the dropdown list for your convenience.

Portfolio Name: If you want to allocate the trade to certain portfolio, please select the portfolio and the trade will be included in the portfolio’s calculation

Underlying Code*: Product Code

Underlying Contract*: Input is not required, the system will auto-fill this field according to the selected Underlying Code

Underlying Month^: Contract’s month, only applicable if the product selected is futures product

Underlying Year^: Contract’s year, only applicable if the product selected is futures product

Price Type*: CLOSE or SETTLEMENT, default is CLOSE

Option Type*: EUROPEAN or AMERICAN, default will be EUROPEAN

C/P*: Call/Put

Option Name*: PHOENIX, SNOWBALL, VANILLA

BS*: Buy/Sell
Trade Date*: Trade date of contract

Exp Date*: Expiry date of contract. Expiry Date cannot be earlier than Trade Date

Size*: Contract size

Unit*: Input is not required, system will auto fill this field once Underlying Code is selected

Initial Price*: Initial Price of contract

Amount*: Input is not required, system will auto calculate this field = Size*Initial Price

CCY*: Input is not required, system will auto fill this field once Underlying Code is selected

Knock Out Price^: Compulsory to fill if Option Name is PHOENIX or SNOWBALL, if it is VANILLA then this field has to be empty

Annual Rate %^: If annual rate is “10%”, please input “10”, compulsory to fill if Option Name is PHOENIX or SNOWBALL, if it is VANILLA then this field has to be empty

Annual Term^: Number of days considered for the year, eg 365, only compulsory is if Option Name is PHOENIX or SNOWBALL

Knock Prices Included*: Yes/No. If Option Name is Vanilla, this field is not compulsory item. If this field is left empty, system will return No as value

Knock In Price^: Compulsory to fill if Option Name is PHOENIX or SNOWBALL, if it is VANILLA then this field has to be empty
Strike Price*: If Option Name is PHOENIX or SNOWBALL, Strike Price will auto fill as Initial Price, if VANILLA, you must input the strike price

Underlying Price*: Input is not required, the system will auto fill this field according to the price obtained from the Exchange

Option Market Value: Market value of open exotic trades, will be used to calculate Un P/L

Premium: Can be negative or positive value regardless of whether the BS is Buy or Sell, will be used to calculate Un P/L and P/L

Option Value and Premium signs: No matter Buy or Sell, Option Value and Premium keep original sign

UnP/L:

  • If BS is BUY,Un P/L = Option Market Value - Premium

  • If BS is SELL,Un P/L = -(Option Market Value - Premium)

Option Settled Value: Market value of closed exotic trades, will be used to calculate P/L

P/L:

  • If BS is BUY,P/L = Option Settled Value - Premium

  • If BS is SELL,P/L = -(Option Settled Value - Premium)

 


3. Please click on Edit/View under ACTION column to add more, edit or view your data.

Please note that if the Option Name is PHOENIX or SNOWBALL, you will be able to click on Edit/View button to access the page, whereas you will be able to do so if the Option Name is VANILLA.

 

The data you have input in the previous page will be reflected in this page automatically. You may feel free to edit your data, those fields with * are compulsory. Once done, please scroll down and click on Save at the bottom left of the page to save your data.

 

 


4. Please scroll down to view the Price Path Information section, where you may click on the blue ADD button to add a new row to input your price path data. You may click on the ADD button multiple times to input multiple rows. Once you input the KNOCK OUT DATE, the row will be automatically sorted according to the KNOCK OUT DATE in ascending order (earliest date will be on the first row).

 

Step 1: Input new price path row

Step 2: Input Knock Out Date and Period

Step 3: If knock in, please input Knock In Triggering Price and Knock In Triggering Date

Step 4: If knock out, please input Knock Out Triggering Price (if necessary) and tick Is Knock Out check box, and click on PL Calculation to auto calculate P/L (Knock Out field at the top will indicate Yes), or manually input. If knock out is not available yet, Step 4 is not required.

Step 5: Once the data has been input, you may click on PL Calculation to perform auto-calculation:

  • If knock in, the Knock In field above will indicate Yes

  • If expired, the Expired field above will indicate Yes, Option Settled Value and P/L will be auto-filled accordingly. The system will auto add Premium to Option Settled Value to calculate P/L, please refer to below for the calculation formula,

  • If knock out, the Knock Out field above will indicate Yes, Option Settled Value and P/L will be auto-filled accordingly. The system will auto add Premium to Option Settled Value to calculate P/L, please refer to below for the calculation formula

 

  • If no knock in, the Knock In field above will indicate No

  • If not expired, the Expired field above will indicate No, Option Market Value and UnP/L will be auto-filled accordingly. The system will auto add Premium to Option Market Value to calculate UnP/L, please refer to below for the calculation formula,

  • If no knock out, the Knock Out field above will indicate No, Option Market Value and UnP/L will be auto-filled accordingly. The system will auto add Premium to Option Market Value to calculate UnP/L, please refer to below for the calculation formula

 

 

If you need to calculate all the P/L in all the respective paths, please tick IS HIS before clicking on the PL Calculation button to calculate your Total P/L.

You may click on the PL Calculation button and the system will auto-calculate the P/L according to your inputs. System will also auto update Settlement Date based on return data for closed trades:

  • If Expired is Yes, Settlement Date will return Expired Date

  • If Knock Out is Yes, Settlement Date will return Knock Out Date

  • If Expired or Knock Out is No, Settlement Date will remain empty

You may also choose to input Option Settled Value to close the trade.

Please repeat the above steps until the trade is closed, and refer to below for the description to learn more.

Description (only fields with * are compulsory)

  • Expired: Yes/No, if Expired Date (Exp Date) is before today’s date (if today > Exp Date, means expired), it means that the trade has expired, once you click on PL Calculation button, Expired field will indicate as Yes

  • Knock In: Yes/No, if the trade has knocked in - Knock In Triggering Price and Knock In Triggering Date are input, once you click on PL Calculation button, Knock In field will indicate as Yes

  • Knock Out: if the trade has knocked in - Knock Out Triggering Price and Knock Out Triggering Date are input, once you click on PL Calculation button, Knock Out field will indicate as Yes

  • Knock Out Date*: Knock Out Date

  • Period*: No. of days, if the trade applies “10 days” to calculate, please input “10” and the system will auto-calculate the P/L accordingly

  • Knock In Triggering Price: Knock In Triggering Price

  • Knock In Triggering Date: Knock In Triggering Date

  • Knock Out Triggering Price: Knock Out Triggering Price

  • Knock Out Triggering Date: Knock Out Triggering Date

  • Is Knock Out: If ticked, means knock out

    • In price path, if tick Is Knock Out and manually input P/L or click Calculate, Option Settled Value will be auto filled with P/L amount

    • In price path, if never tick Is Knock Out and manually input P/L or click Calculate, Option Market Value will be auto filled with P/L amount

 

  • P/L*: Input manually or system calculate: P/L value will appear in Option Market Value or Option Settled Value according to whether Expired and Knock Out is Yes or No.

    • If Expired or Knock Out, the corresponding columns will indicate as Yes, the system will auto update Total P/L value into Option Settled Value. Premium will also be added to Option Settled Value to obtain P/L value

    • If not Expired or Knock Out, the corresponding columns will indicate as No, the system will auto update Total P/L value into Option Market Value. Premium will also be added to Option Market Value to obtain UnP/L value

 


 

P/L Calculation Formulas:

If BS is BUY,

  • Un P/L = Option Market Value - Premium

  • P/L = Option Settled Value - Premium

If BS is SELL,

  • Un P/L = -(Option Market Value - Premium)

  • P/L = -(Option Settled Value - Premium)

 


How to close exotic trades:

5. If you want to close your trade, you can choose to:

a. In Open Trades table, input the Settlement Date and Option Settled Value. Once saved, the system will automatically shift the trade from the Open Trades table to the Closed Trades table, or

 

b. Click on the Edit/View (under Action column) to access the page:

  • Manually input Option Settled Value and Settlement Date, and save the page, or

  • Tick the Is Knock Out checkbox, click on PL Calculation button, Knock Out field will indicate Yes, and save the page, or

  • Input Expiry Date as before today’s date, click on PL Calculation button, Expired field will indicate Yes, and save the page.

The system will close the trade accordingly.

 


6. Please click on the Save button at the bottom left of the page to save your data.

Please note that if the Option Settled Value field and the P/L field under the Price Path Information section are different, once you click on Save, a pop up message will appear to prompt you to choose the final Option Settled Value - Choose existing manually input Option Settled Value or system calculated Option Settled Value.

 

Once saved, if the trade has been closed - Option Settled Value has been input or under Price Path Information section, the Expired field is Yes or Knock Out field is Yes, then the trade will be automatically closed. The system will automatically move the closed trades from the OPEN TRADES table to the CLOSED TRADES table.

If you did not input Option Settled Value yet, or both Expired field and Knock Out field are No, then the trade is still open, and will continue to remain in the OPEN TRADES table.

Please note that once you delete the value in Option Settled Value field, it will mean that the trade is not closed yet, so Option Market Value and Un P/L values will be displayed. Once you close the trades, Option Market Value and Un P/L values will be empty, and Option Settled Value and P/L values will be displayed accordingly.

 


Summary:

Trades will be auto closed (Option Settled Value must have value to signify it is closed) if the following criteria are fulfilled:

  • Expired field is Yes or

  • Knock Out field is Yes (Is Knock Out is ticked, regardless of manual input or system calculate P/L) or

  • Option Settled Value has been input (either manually input or system auto-calculate)

    • if Option Settled Value is empty, then value will follow TOTAL P/L. Otherwise, if Option Settled Value is different from TOTAL P/L when saving, pop up window will appear to reconfirm final value before saving Option Settled Value.

If the trades have been closed/If either Expire and Knock Out fields are Yes:

  • Option Settled Value, P/L and Settlement Date must have values

  • Option Market Value and Un P/L values must be empty, system will auto change to empty

  • Trades will be auto-moved from OPEN TRADES table to CLOSED TRADES table

 

If the trades have not been closed/If both Expire and Knock Out fields are No:

  • Option Market Value and Un P/L must have values

  • Option Settled Value, P/L and Settlement Date values must be empty, system will auto change to empty

  • Trades will be remain in OPEN TRADES table

     

System will auto-calculate and update the trade option values at 7:00 and 19:00 daily.

If the trade is expired or has knock out, the system will close the trade automatically, the the LAST UPDATED BY column will indicate as MAF

 

Change Expired or Knock Out Value Logic:

if either Expired or Knock Out value changed and both are No or empty (means only if either value is changed)

  1. Option Settled Value, P/L and Settlement Date must be empty

  2. Option Market Value will follow TOTAL P/L, and Un P/L will have value

  3. It is correct:

    1. when entering exotic trade details page, if Expired and Knock Out are both No, and Option Settled Value and P/L also have value, it is correct as Expired or Knock Out value is not changed

    2. if both Expired and Knock Out are No, Option Settled Value and P/L are empty, system will allow user to key in Option Settled Value manually as expired or Knock Out value is not changed

 

  • Exotic Account Details app: All relevant figure columns will follow Amount Decimal Point setting.

  • Exotic Position Details app:

    • CURRENT P/L = Un P/L

    • REALIZED P/L = P/L

 


Create Exotic Position Details App

After the data has been input, please proceed to Dashboard>Individual to create Exotic Position Details App to check your data.

Once Exotic Trades data has been input, the relevant data will be displayed in Exotic Position Details App automatically.

 

  • EQUIV VANILLA ACTION 相等于期权操作

    • if option_name == vanilla

      1. equiv_vanilla = BS + CP

    • else

      1. equiv_vanilla = BUY / C if BS == SELL and CP == P

      2. equiv_vanilla = BUY / P if BS == SELL and CP == C

      3. equiv_vanilla = SELL / C if BS == BUY and CP == P

      4. equiv_vanilla = SELL / P if BS == BUY and CP == C

  • EQUIV UNDERLYING DIRECTION 相等于基础合约方向

    • if EQUIV VANILLA ACTION == BUY / C or SELL / P

      1. EQUIV UNDERLYING DIRECTION = B

    • else

      1. EQUIV UNDERLYING DIRECTION = S

  • EQUIV UNDERLYING QTY 相等于基础合约数量

    • if EQUIV UNDERLYING DIRECTION == B

      1. EQUIV UNDERLYING QTY is Positive

    • else:

      1. EQUIV UNDERLYING QTY is negative

  • 权益 CURRENT P/L = Un P/L

  • 平仓盈亏 REALIZED P/L = P/L

 


Upload FCM Statement data and Input Fund In/Out

Upload FCM Statement

Please access the guide to learn more about uploading or inputting FCM Statement data:https://mafint.atlassian.net/wiki/spaces/MCUGX/pages/1942224897

In the FCM Statement page, you will be required to choose EXOTIC BROKER under FCM TYPE to link/associate/allocate your data with the exotic trades (you may need to input the relevant Broker and Account). Once linked, the data will automatically appear in the Exotic Account Details app in Dashboard.

Please note that:

  • If FCM TYPE is FCM or empty, the data will appear in the Futures Account app, and not in the Exotic Account Details app.

    • For Futures Account app, the trade row will show a combination of FCM statement figure + trades figure + General Ledger figure.

    • Only data with similar Settlement Date as the Settings will appear in the app.

  • If If FCM TYPE is EXOTIC BROKER, the data will appear in the Exotic Account Details app, and not in the Futures Account app.

All relevant data will automatically appear in the Exotic Account Details app in Dashboard.

 


Fund In/Out Input

Please access the guide to learn how to input your Fund In/Out data: and select Fund In/Out data and input the relevant data as well as Broker and Account to link your data with the exotic trade.

 

All relevant data will automatically appear in the Exotic Account Details app in Dashboard.

 


Create Exotic Account Details App

After the data has been input, please proceed to Dashboard>Individual to create Exotic Account Details App to check your data.

You may be required to input:

  • FCM Statement data and

  • Fund In/Out data

and the respective data will automatically appear in the app

 

 


 

CALCULATION LOGIC:

Vanilla

  1. OPEN TRADES table

    1. AMOUNT = INIT PRICE * SIZE

    2. OPTION MARKET VALUE

      1. if call: max[UNDERLYING PRICE - STRIKE PRICE, 0] * SIZE

      2. if put: max[STRIKER PRICE - UNDERLYING PRICE, 0] * SIZE

    3. UNP/L:

      1. If buy: OPTION MARKET VALUE - PREMIUM

      2. if sell: PREMIUM - OPTION MARKET VALUE

  2. CLOSED TRADES table:

    1. OPTION SETTLED VALUE: similar to OPTION MARKET VALUE, but the position is closed

      1. expired: once bigger than EXP DATE, or

      2. close trade: fill up SETTLEMENT DATE and OPTION SETTED VALUE in OPEN TRADES table

    2. P/L: same logic as UNP/L, just change OPTION MARKET VALUE to OPTION SETTLED VALUE

  3. Exotic Position Details app:

    1. EQUIV VANILLA ACTION: combination of BS and C/P

    2. EQUIV UNDERLYING DIRECTION:

      1. S if SELL/C or BUY/P

      2. B if BUY/C or SELL/P

    3. SIZE = :

      1. QTY if BS == BUY else -QTY

    4. EQUIV UNDERLYING QTY

      1. QTY if EQUIV UNDERLYING DIRECTION == B else -QTY

    5. POSITION COST

      1. if C/P == C, STRIKE PRICE + PREMIUM / abs(SIZE)

      2. if C/P == P, STRIKE PRICE - PREMIUM / abs(SIZE)

    6. INTEREST RECEIVED: EMPTY

    7. P/L PROJECTION:

      1. if BS == SELL: PREMIUM

      2. if BS == BUY: empty

    8. REALIZED P/L:

      1. closed trade:

        1. If BUY: OPTION SETTED VALUE - PREMIUM

        2. if SELL: PREMIUM - OPTION SETTED VALUE

      2. open trade: empty

    9. CURRENT LOST: only open position

      1. if CURRENT P/L < 0, CURRENT LOST = CURRENT P/L

      2. else empty

    10. CURRENT P/L:

      1. open trade:

        1. If buy: OPTION MARKET VALUE - PREMIUM

        2. if sell: PREMIUM - OPTION MARKET VALUE

      2. close trade: empty

 

Snowball/Phoenix

  1. OPEN TRADES table:

    1. AMOUNT = INIT PRICE * SIZE

    2. STRIKE PRICE = INIT PRICE

    3. OPTION MARKET VALUE:

      1. please refer to the details at last section of the page

    4. UNP/L: same as VANILLA

  2. CLOSED TRADES table:

    1. OPTION SETTLED VALUE: similar to OPTION MARKET VALUE, but the position is closed

      1. expired: once bigger than EXP DATE, or

      2. close trade: fill up SETTLEMENT DATE and OPTION SETTED VALUE in OPEN TRADES table

      3. knock out: please find knock out details below.

    2. P/L: same logic as UNP/L, just change OPTION MARKET VALUE to OPTION SETTLED VALUE