MAF CLOUD - NEW RELEASE + FIX UPDATES JUN 2022

24 JUN 2022 - VERSION 3.0.6

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

1. Specification table auto calculation:

DMT = WMT*(1-MOIS)

  • If input either 2 items, the other item will be auto-calculated

  • light theme table adjusted

Enhancement

https://mafint.atlassian.net/wiki/spaces/MCUGX/pages/1962901505

https://mafint.atlassian.net/browse/MAF-3189

https://mafint.atlassian.net/browse/MAF-3190

 

23 JUN 2022 - VERSION 3.0.6

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

1. Exotic Trades Logic Update:

  1. add Knock Out field after Knock In field

    1. if any row IS KNOCK OUT ticked, then Knock Out is Yes, no matter by manual or MAF calculate

  2. if either Expired or Knock Out is Yes, it means closed trade

    1. Option Settled Value must have value

    2. Settlement Date must have value

    3. P/L must have value

    4. Option Market Value and Un P/L must be empty (auto change to empty)

    5. if Option Settled Value is empty, then follow TOTAL P/L, otherwise, if Option Settled Value is different from TOTAL P/L when saving, confirm it in pop up window

  3. 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 and P/L must be empty, settlement date be empty

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

    3. It is correct:

      1. when enter 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

  4. if Option Settled Value and P/L have values, Option Market Value and Un P/L will auto update to empty

 

 

Enhancement

2. Exotic Trades Table and Page Update:

  • Settlement Date and Expiry Date cannot be earlier than Trade Date

  • Option Value and Premium signs:

    • No matter Buy or Sell, Option Value and Premium keep origin sign

      - if Buy:

      • P/L = option settled value - premium

      • Un P/L = option value - premium

      - if Sell:

      • P/L = -(option settled value - premium)

      • Un P/L = -(option value - premium)

  • Copy and paste Broker and Account bug fixed

  • After clicking Calculate button in price path, system will auto update Settlement Date based on return data:

    • If Expired is Yes, Settlement Date will return Exp 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

Enhancement

 

3. Exotic Open Trades Table Update:

  • Add new columns - SETTLEMENT DATE AND OPTIONS SETTLED VALUE to close open trade.

    • 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

  • If Option Name is Vanilla, Knock Prices Included is not compulsory item

    • If Knock Prices Included is left empty, system will return No as value

Enhancement

 

4. Dashboard -

  • 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

Enhancement

5. Other Exotic Trade enhancements:

  • Exotic Position Details - Equiv Underlying Qty follows physical quantity decimal point

  • Exotic Trade Table - Option Settled Value, UnP/L and P/L cannot be grouped bug fixed

  • Exotic Trade Page - Added translation for Current Date

Enhancement

 

22 JUN 2022 - VERSION 3.0.6

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

1. Exotic Trades -

  • Add Current Date and Underlying Price before Expired in Price Path Information panel, view only

  • Remove Underlying Price in Trade Information panel

Enhancement

https://mafint.atlassian.net/wiki/spaces/MCUGX/pages/1962901505

2. Physical Trades - Specifications: SUMMARY row will be highlighted

 

Enhancement

https://mafint.atlassian.net/wiki/spaces/MCUGX/pages/820838446

3. Dashboard - Portfolio P/L Details app - Trader column can be dragged to group row bug fixed

Enhancement

4. Portfolio>General Ledger>FCM Statement - Copy and paste Broker and Account bug fixed

Enhancement

 

21 JUN 2022 - VERSION 3.0.6

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

1. Portfolio>General Ledger>FCM Statement

a. In FCM Statement table, add a new column: FCM TYPE (经纪商类别) before broker column

  • FCM or leave empty (if selected FCM or leave blank for this column, the trade will be displayed in Futures Account app only)

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

    • It will only show the trades from FCM statement table in Futures Account app if FCM TYPE is FCM or empty and Settlement Date (same as settings).

  • EXOTIC BROKER (if selected EXOTIC BROKER for this column, the trade will be displayed in Exotic Account Details app only)

    • Note: For Exotic Account Details app, only exotic trades input in Exotic Trades page and FCM Statement page with related Broker and Account inputs will be displayed in the app.

b. Change to

  • IM/TE RATIO %

  • IM/MV RATIO %

Enhancement

2. Dashboard - Exotic Positions Details - Add new columns:

  • 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

Enhancement

3. Exotic Trades - for knock out event, system will only check on Knock Out Date. If anything happens before Knock Out Date, it does not mean that knock out is triggered.

Exotic Trade details changes:

  1. remove Knock Out cell in PRICE PATH INFORMATION

    1. if any row IS KNOCK OUT is ticked, then it means Knock Out is YES, which should be used for the current logic we are using for Option Settled Value

  2. remove KNOCK OUT TRIGGERING DATE col in Price Path rows (as knock out triggering date = knock out date)

  3. Add IS KNOCK OUT, tick box

    1. default is untick

    2. if r['is_ko'] = True, then tick, else untick

  4. insert and update price path also need to be changed

    1. remove ko_date

    2. add is_ko

Enhancement

4. Physical Trade Table - Add Product Group column to determine if the trade is using IRON ORE template or GENERAL template

Enhancement

 

20 JUN 2022 - VERSION 3.0.6

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

1. Dashboard - Portfolio P/L Details app: For Commission (under Portfolio Group), associated Trader will be auto-linked

Enhancement

2. Trades labels have been updated:

  • Trades

  • Paper Trades

  • Physical Trades

Enhancement

-

3. Paper Trades Upload bug fixed for Singapore server

Enhancement

-

4. Dashboard - Add new app:

  • EXOTIC ACCOUNT DETAILS

  • EXOTIC POSITION DETAILS

New Feature

-

 

16 JUN 2022 - VERSION 3.0.6

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. Add Specifications page in Physical Trade Execution page:


  1. add PROD GROUP in GENERAL INFORMATION section after TRADE DATE and show value only

  2. if prod_id is 1 (IRON ORE)

    1. keep Shipping Month/Year only

    2. remove select options

    3. remove Show LoadPort and Show Disport

    4. remove Claims Details

    5. Show SPECIFICATION

  3. In SPECIFICATION (IRON ORE ONLY):

    1. WMT: view only

    2. DMT: view only

    3. MOIS %: view only

      1. no limitation for decimal, show value * 100

    4. FE %: view only

      1. no limitation for decimal, show value * 100

    5. EDIT (click to go to a new page to add/edit/delete/view Specification)

4. Add Specifications Details page in Physical Trade Execution page:

If product_id is IRON ORE, click EDIT button under SPECIFICATION and be directed to a new page Specification Details

  1. click Edit, if there is no execution number (new exe not saved yet), please auto save execution page first to get execution number (pop up message to prompt trade exe has been saved)

  2. from now on, different product ID will have different layout and design, so FE will use product ID to control.

    • we only have Iron Ore case currently, which prod_id == 1.

New Feature

2. Specifications in Physical Trade Execution page: Click EDIT to access Specifications Details page


  1. can input in Load Port, CIQ/CICC, Final rows

  2. summary row is view only, the value will auto update based on following logics:

a. choose formula and click on Calculate button, will pop up message to prompt calculations are successful:

  • Select CIQ/CICC: final row = CIQ

  • Select Ave of Load Port and CIQ/CCIC: final row = (load port + CIQ/CICC) / 2

b. summary row will follow either final row or load row. If final row has no values, summary row will follow load port row values.

c. For final row to be considered to have values, DMT, WMT, FE% and MOIS% have to be filled, or values can be 0

 

New Feature

 

3. Different physical trade category will have different data fields to input. We will differentiate based on product category selected by user:

  1. PROD GROUP (产品组) dropdown list will be added on the top right corner, before “Template Layout”

  2. Default will be General, cached last selected without reset

  3. if select 1 (IRON ORE):

    1. remove Packer Details

    2. keep Shipping Month/Year only (remove Laycan Period)

    3. remove all items from Laytime (Hours) to GT&C

New Feature

4. No issue when deleting:

  1. physical trade and physical trade execution

  2. physical trade and physical trade execution with specifications

New Feature

-

5. Bugs fixed:

  • Delete trade in physical trade table bug

  • Portfolio P/L Details app error message

  • Portfolio - Total P/L and Diagnose P/L are different

Enhancement

-

6. Portfolio -

a. General Ledger - FCM Statement: Add new column - REALIZED PL 当日平仓盈亏

b. Realized P/L translations changed to 当日平仓盈亏

Enhancement

7. Trades - Exotic Trades - Closed Trades table

a. Option Settled Value in table is compulsory to be filled

b. Add Settlement Date:

  • Exotic trade table:

    • Add Settlement Date before Contract No. column

    • Compulsory field if Option Settled Value has value

  • Exotic trade details page:

    • Add Settlement Date after PL column

    • Compulsory field if Option Settled Value has value

Enhancement

 

 

 

 

11 JUN 2022 - VERSION 3.0.6

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

1. Physical Trades - PS Ledger

  • Allow user to input date beyond today date to allow keeping track of planning payable and receivable items

Enhancement

2. Dashboard - Portfolio P/L Details: Add new columns:

  1. UC TAX 城建税

    • after BASE AMOUNT

  2. EE TAX 教育附加税

    • after UC TAX

  3. STAMP DUTY 印花税

    • after EE TAX

  4. NET AMOUNT 纯利润

    • after EE TAX

  5. BASE NET AMOUNT 结算纯利润

    • after NET AMOUNT

    • = net_amt * ex_rate

    • Value should be exactly the same as Net Amount if ex rate is 1

all enable group sum and in summary row.

EE TAX, UC TAX, STAMP DUTY TAX calculation logic:

There are only two types of data that may have EE TAX, UC TAX, STAMP DUTY TAX:

  1. Physical trade rows (MTM, priced in, closed, open…)

    1. as long as physical trade has tax rate, then it must have EE TAX, UC TAX

    2. only positive amount and tax rate will have STAMP DUTY TAX

  2. Others (from General Ledger table only, we do not support exp/inc table from now on)

    1. as long as GL row has tax rate, then it must have EE TAX, UC TAX

    2. Only positive amount and tax rate and row with contract no. will have STAMP DUTY TAX

 

Enhancement

3. General Ledger - add CONTRACT NO. in general ledger table, before PORTFOLIO

Logic for CONTRACT NO. and PORTFOLIO:

  1. If select Contract No., Portfolio must be selected too

  2. If user choose contract no., portfolio will auto use the one in selected contract no. item from dropdown list, and update dropdown list of portfolio item to the one.

  3. if user choose portfolio item from portfolio dropdown list, then use the selected portfolio_id to filter phy_trade_id dropdown list.

  4. If GL row has Contract No. and Tax Rate, we will use it to do Stamp Duty calculations in Portfolio P/L Details.

 

Enhancement

 

10 JUN 2022 - VERSION 3.0.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. Physical Trade - Payment Record (Invoice): Template layouts will be shared among members in the same group

Enhancement

2. Physical Trade - Bulk Trade Upload:

  • Quantity and Actual Quantity will auto convert to positive value when negative quantity has been input/copied & pasted

  • Quantity and Actual Quantity will auto convert to positive value when negative quantity has been uploaded

Enhancement

3. Physical Trade - Physical Trade Table: Port/WH Name should allow free key when Company Data>Warehouses is not set up

Enhancement

4. MAF Cloud Phone App: Shared web link will be auto copied to device’s clipboard for sharing

  • Allow sharing of individual models via web link (paper plane icon)

  • Allow sharing of entire group dashboard via web link (share button)

 

Enhancement

 

08 JUN 2022 - VERSION 3.0.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

1. Trades - Exotic Trades

  • For new trade, Amount will be auto calculated once Initial Price and Size are input

  • For new trade, when input details, click Calculate and data will be auto updated

  • Knock In Price and Knock Out Price should be float instead of string

  • Expire label changed to Expired

Enhancement

2. Dashboard

  • Portfolio P/L Details - Add Trader column before Category column

  • Buttons will fit 100% default web layout bug fixed

Enhancement

 

 

03 JUN 2022 - VERSION 3.0.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. Exotic Trade Page - If edit Initial Price, Amount should auto update

  • Amount = Initial Price * Size

Enhancement

2. Dashboard - Portfolio P/L Details app: Add VAT column (增值税)

  • After Amount

  • Enable grouping and summary rows

Enhancement

 

 

03 JUN 2022 - VERSION 3.0.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

1. Add Exotic Trades Page

  • NAVIGATOR

    1. under TRADE, after PAPER TRADE

    2. EXOTIC TRADE

  • Translations added

2. 2 tables - Open Trades and Closed Trades

  • Each contract number is unique for all users aka all users cannot use the same contract number

  • When add new row/trade, Price Type is CLOSE by default

  • When add new row/trade, Option Type is EUROPEAN by default

  • Premium can be positive or negative

  • Enable grouping and aggregated summary for both tables

New Feature

2. Add Exotic trade P/L calculation details in exotic trade details page

  • Amount = SIZE * INIT PRICE

  • Strike Price = Initial Price (uneditable, if Option Name is Phoenix or Snowball; otherwise, if Vanilla, Initial Price is editable)

  • if BS is = BUY,

    • UNPL = Option Market Value - Premium

    • PL = Option Settled Value - Premium

  • if BS is = SELL,

    • UNPL = Premium - Option Market Value

    • PL = Premium -Option Settled Value

  • Click P/L Calculation button and it will auto calculate; Option Market Value and UnP/L will be empty

  • If Option Settled Value is different from the P/L Calculation, when click on Save, pop up message will prompt you to select the existing manually input Option Settled Value or select calculated P/L figure for Option Settled Value

New Feature

 

3. Exotic Trade Option Update - Update at 19:00 daily:

  • if it is expired or knock out, system will update it into closed trade, can see it is Updated by MAF.

  • if today > exp_date, means expired.

New Feature