12
FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4, 2019 1 FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES INTRODUCTION Quick Overview of Financial Instruments Problem Description FRET Compute in Cloud vs. Compute at Edge Results Conclusion 2 FRET.key - December 8, 2019

FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4, 2019

1

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

INTRODUCTION▸ Quick Overview of Financial Instruments

▸ Problem Description

▸ FRET

▸ Compute in Cloud vs. Compute at Edge

▸ Results

▸ Conclusion

2

FRET.key - December 8, 2019

Page 2: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

FINANCIAL INSTRUMENTS▸ Stocks & Bonds

▸ Swaps, Options, Forwards, and Futures

▸ Combined in many ways to form Structured Products

▸ Capital Protection

▸ Income Enhancement

▸ Market Participation

▸ Hedging & Risk Management

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

3

FINANCIAL INSTRUMENTSFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

Image taken from: https://www.tdstructurednotes.com/snp/noteDetails.action?noteId=2709

4

FRET.key - December 8, 2019

Page 3: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

FINANCIAL INSTRUMENTS▸ Options

▸ Fundamental building block for structured products

▸ Contracts that allow the holder to buy or sell an asset at a predetermined price

▸ Types:

▸ Call Option: Payoff at maturity = max(0, S - K)

▸ Put Options: Payoff at maturity = max(0, K - S)

▸ Exercise: European, American, Bermudan

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

5

FINANCIAL INSTRUMENTSFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

0.00

2.00

4.00

6.00

8.00

10.00

12.00

14.00

16.00

18.00

20.00

80 85 90 95 100 105 110 115 120

Price

($)

Stock Price/Index Level

Call Options

Call (30 Days)

Call (60 Days)

Call (90 Days)

Call (Expiration)

6

FRET.key - December 8, 2019

Page 4: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

FINANCIAL INSTRUMENTSFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

0.00

2.00

4.00

6.00

8.00

10.00

12.00

14.00

16.00

18.00

20.00

80 85 90 95 100 105 110 115 120

Price

($)

Stock Price/Index Level

Put Options

Put (30 Days)

Putl (60 Days)

Putl (90 Days)

Put (Expiration)

7

FINANCIAL INSTRUMENTSFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

▸ Pricing of European Call & Puts can be determined analytically (under various assumptions)

▸ Black-Scholes-Merton (BSM) Formula:

Vcall = Se�qTN (d1)�Ke�rTN (d2)

Vput = Ke�rTN (�d2)� Se�qTN (�d1)<latexit sha1_base64="GXOwJ1Si3Ph/YbBMr0yDNaztokM=">AAACfnicdVHbTttAEF275dKUQmgfedkSgbjIwU4rwQtSJF6QKlVBkIAUB2u9mYQV6wu7Y9TI8mfwY7z1W3hhnQsCmo52pdE5c2Zmz4apFBpd969lf/i4sLi0/KnyeeXL6lp1/WtHJ5ni0OaJTNRVyDRIEUMbBUq4ShWwKJRwGd6elPzlPSgtkvgCRyn0IjaMxUBwhgYKqg+dIPcR/mDOmZRFQbeP6Tlc587dReFHDG8MnP8udvqBt0sd+quk1HuqsUt935zKS7M0w0mveQJnrHDmznHKQZWgWvPq7jjo/5MamUYrqD76/YRnEcTIJdO667kp9nKmUHAJRcXPNKSM37IhdE0aswh0Lx/bV9Atg/TpIFHmxkjH6GtFziKtR1FoKstN9XuuBOdx3QwHR71cxMYNiPlk0CCTFBNa/gXtCwUc5cgkjCthdqX8hinG0fxYaYI7e/K/ycyETqPu/ag3zn7Wms2pHctkg2ySHeKRQ9Ikp6RF2oSTJ+u7tWft28Teth37YFJqW1PNN/Im7KNnCW2+Pg==</latexit>

d1 =1

�pT

ln

S

K+

✓r � q +

�2

2

◆T

d2 = d1 � �pT

<latexit sha1_base64="JjTkkS2Jbv5mmw6wD/yJmt8kP+U=">AAACdnicdVFdaxQxFM1M/ajr11qfRJDQpVqRLjPTgr4UFnwRfKm42xY245DJZHZDM5lpckdYQn6Cf863/g5ffDSzswWtekng5Jx7OclJ3khhIIqugnDr1u07d7fvDe4/ePjo8fDJzqmpW834jNWy1uc5NVwKxWcgQPLzRnNa5ZKf5RfvO/3sK9dG1GoKq4anFV0oUQpGwVPZ8FuRxfjlMSalpszGzhIjFhXFxFxqsFPnMJG8hDmRatPz2dmPDr/p+X2ND/Bld1pr/fCXxNnEES0WS3g9xT1IMSF+DYos6fw62wN8w2yQDUfxOFoX/j8YoU2dZMPvpKhZW3EFTFJj5nHUQGqpBsEkdwPSGt5QdkEXfO6hohU3qV3H5vCeZwpc1tpvBXjN/j5haWXMqsp9Z0VhaW5qHfkvbd5C+S61QjUtcMV6o7KVGGrc/QEuhOYM5MoDyrTwd8VsSX2A4H+qCyG6fvLf4DqE02QcH46TT0ejyWQTxzZ6jnbRPorRWzRBH9AJmiGGfgTPgt1gFPwMX4R74au+NQw2M0/RHxVGvwC7JbtZ</latexit>

8

FRET.key - December 8, 2019

Page 5: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

IMPLIED VOLATILITYFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

▸ A measure of uncertainty/fear in the market

▸ Observe prices in the market

▸ Use BSM to solve for volatility

▸ Not easy to invert the BSM formula

▸ For every K and T, solve BSM formula numerically to determine implied volatility

9

IMPLIED VOLATILITYFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

10

FRET.key - December 8, 2019

Page 6: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

IMPLIED VOLATILITY SURFACEFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

▸ Required input to price options correctly

▸ Not only vanilla options but also other exotic kinds

▸ Traders constantly monitor volatility (mark their vol. surface)

▸ Frequent updates when markets are changing rapidly

▸ Rely on this volatility surface to price OTC instruments

11

PROBLEM DESCRIPTIONFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

▸ Monitor the market (indices, basket of indices, stocks, etc) periodically

▸ Construct/Update (mark) the volatility surface using standard options available on the exchange

▸ Perform any post-processing of the volatility surface (institution/security dependent)

▸ Use volatility to price OTC instruments automatically

▸ Adjust bid/ask price (as appropriate based on risk capacity)

12

FRET.key - December 8, 2019

Page 7: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

FRET PROTOTYPE SETUPFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

13

FRET PROTOTYPE SETUPFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

▸ Google Compute Engine

▸ G1 Small (1 vCPU, 1.7 GB Memory)

▸ Ubuntu 18.04

▸ Apache 2 & Flask

▸ Edge Server

▸ VM running on Windows 7 Host

▸ Ubuntu 18.04

▸ Apache 2 & Flask

▸ Client Computer: MacBook Pro

▸ Network Connection: 25MBit Downstream / 10MBit Upstream

14

FRET.key - December 8, 2019

Page 8: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

COMPUTATIONS — CLOUDFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

▸ Download data from data provider (Yahoo! Finance)

▸ Construct Volatility Surface

▸ Process client request

▸ Calculate option value

▸ Calculate option greeks (sensitivity)

▸ Send results back in json format

15

COMPUTATIONS — EDGEFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

▸ Cloud/Edge

▸ Cloud Server downloads data from data provider (Yahoo! Finance)

▸ Build the implied volatility surface

▸ Pushes to Edge Server periodically

▸ Client makes pricing request to Edge server

▸ Edge server process client request

▸ Calculate option value

▸ Calculate option greeks (sensitivity)

▸ Send results back in json format

16

FRET.key - December 8, 2019

Page 9: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

REQUEST & RESPONSEFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

http://35.226.6.170/price_options?payload=^GSPC_C3000D30

{"^GSPC_C3000D30": {"Value": 169.88138974993626, "Delta": 0.8140232196141809, "Gamma": 0.0014867304429613294, "Vega": 287.143372474178, "Theta": 216.82667049055874, "Rho": 282.02900716806903 } }

17

LATENCY COMPARISON (S&P 500)FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

327 533 952 1775 3459 6807 13596 27063Cloud 2.6548 2.791 2.7091 2.6559 2.9362 3.1173 3.4135 3.5967Edge 1.5754 2.0735 1.5624 1.6628 1.6774 1.8764 2.1527 2.7127

0

0.5

1

1.5

2

2.5

3

3.5

4

Tim

e (s

)

Average Round Trip Times for S&P 500 Options

▸ 25% Improvement (128 options)

18

FRET.key - December 8, 2019

Page 10: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

LATENCY COMPARISON (AAPL)FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

▸ 46% Improvement (128 options)!

327 533 952 1775 3459 6807 13596 27063Cloud 4.2652 4.2043 4.1631 4.1953 4.3556 4.4231 4.8221 5.1224Edge 1.5152 1.4714 1.4796 1.4703 1.5928 1.7974 2.1032 2.737

0

1

2

3

4

5

6

Tim

e (s

)

Average Round Trip Time for AAPL Options

19

COMPARISON AT 99TH PERCENTILEFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

0.0

0.10.2

0.3

0.40.5

0.60.7

0.80.9

1.0

3 3.5 4 4.5 5 5.5

RTT [S&P 500 CLOUD]

0.0

0.10.2

0.30.4

0.50.6

0.70.8

0.91.0

2 2.5 3 3.5 4

RTT [S&P 500 EDGE]

99th Percentile @ 4.61s 99th Percentile @ 3.48s

20

FRET.key - December 8, 2019

Page 11: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

EDGE ADVANTAGEFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

TEDGE = TE

REQ+ TE

PROC+ TE

FILE+ TE

PRICE+ TE

XFER<latexit sha1_base64="Q7y6stOhZmEPue2XCXQ/2Ynhu70=">AAACM3icdVDZSgMxFM241rqN+uhLsCiCUKYq6INCoY4bgrV0g3YcMmlqQzMLSUYow/yTL/6ID4L4oIiv/oPpotbtQODcc+7l5h4nYFRIw3jQRkbHxicmE1PJ6ZnZuXl9YbEs/JBjUsI+83nVQYIw6pGSpJKRasAJch1GKk471/Ur14QL6ntF2QmI5aIrjzYpRlJJtn5atCPz4MiM4do+LF6adlQwL2K40ef5wnnuszg8OTOHnJPcV1U9NAuxracyaaMH+D9JgQHytn5Xb/g4dIknMUNC1DJGIK0IcUkxI3GyHgoSINxGV6SmqIdcIqyod3MMV5XSgE2fq+dJ2FOHJyLkCtFxHdXpItkSP72u+JdXC2Vz14qoF4SSeLi/qBkyKH3YDRA2KCdYso4iCHOq/gpxC3GEpYo5qUIwPk7+TT5CKG+mM1vpzYvtVHZvEEcCLIMVsA4yYAdkwTHIgxLA4AbcgyfwrN1qj9qL9tpvHdEGM0vgG7S3d4p1pgY=</latexit>

Network Savings � Compute Penalty<latexit sha1_base64="NGN5wRvebt3pgWOZVKhSWt5SaVs=">AAACG3icdVDLSgMxFM34tr6qLgUJFsFVmdaFLgQFN66kolWhLSWT3tbQTDImd9QydOk/uPE/XAniQhFXggu/QT/CtFXweSBwOOdebs4JIiks+v6L19c/MDg0PDKaGhufmJxKT8/sWx0bDkWupTaHAbMghYIiCpRwGBlgYSDhIGhudvyDEzBWaLWHrQgqIWsoURecoZOq6XwZ4QyTbcBTbZp0l50I1bBtWm7AMe15mzqMYgRaAMUkttrVdCaX9bug/5PM+s3r+fzVzluhmn4q1zSPQ1DIJbO2lPMjrCTMoOAS2qlybCFivMkaUHJUsRBsJelma9NFp9RoXRv3FNKu+nUjYaG1rTBwkyHDI/vT64h/eaUY66uVRKhONsV7h+qxpKhppyhaEwY4ypYjjBvh/kr5ETOMo6sz5UrwPyP/Jp8l7OezueVsfsfPbKyRHkbIHFkgSyRHVsgG2SIFUiScXJBrckfuvUvv1nvwHnujfd7Hziz5Bu/5Hb3epuY=</latexit>

TCLOUD = TCREQ + TC

PROC + TCFETCH + TC

PMD + TCPRICE + TC

XFER<latexit sha1_base64="2Y75ycHFRYt/rKx5HK8An4rau6g=">AAACQXicdVBJSwMxGM3UvW5Vj16CRRGEMq2CHhQK0xEFpQutFtpxyKSpBjMLSUYow/w1L/4Db969eFDEqxfT1f1B4H3vvY8kzwkYFVLXH7TE2PjE5NT0THJ2bn5hMbW0fCb8kGNSwz7zed1BgjDqkZqkkpF6wAlyHUbOnWuj65/fEC6o71VlJyCWiy492qYYSSXZqXrVjoyTYq0Qw40DWL0w7KhilmO41eelStEYDYdm1Tj6tE4LX2LHhjma6odmJbZT6WxG7wH+T9JggJKdum+2fBy6xJOYISEaWT2QVoS4pJiRONkMBQkQvkaXpKGoh1wirKjXQAzXldKCbZ+r40nYU79uRMgVouM6KukieSV+el3xL68RyvaeFVEvCCXxcP+idsig9GG3TtiinGDJOoogzKl6K8RXiCMsVelJVYI+/PJvMizhLJfJbmdy5Z10fn9QxzRYBWtgE2TBLsiDI1ACNYDBLXgEz+BFu9OetFftrR9NaIOdFfAN2vsHWLuqzA==</latexit>

(TE

PROC+ TE

PRICE)� (TC

PROC+ TC

PRICE)

<latexit sha1_base64="+m67/Zp5aGKPHwQnlP5h0N7KjUk=">AAACIHicdZDLSgMxFIYz9VbrrepSkGARKmKZ1kVdCBaGgq5spTdoa8mkmTY0cyHJCGXo0sdw41O4FTcuFNGdvoI+hOlN6u1A4M//nUNyftNjVEhdf9VCU9Mzs3Ph+cjC4tLySnR1rSRcn2NSxC5zecVEgjDqkKKkkpGKxwmyTUbKZsfo8/IF4YK6TkF2PVK3UcuhFsVIKqsRTccL59lGkDs7NXpwF44uJ0a2twP3oILGJDS+YCMaSyb0QcH/Rezo9v1y8yb/kWtEX2pNF/s2cSRmSIhqUvdkPUBcUsxIL1LzBfEQ7qAWqSrpIJuIejBYsAe3ldOElsvVcSQcuJMTAbKF6Nqm6rSRbIufrG/+xaq+tA7qAXU8XxIHDx+yfAalC/tpwSblBEvWVQJhTtVfIW4jjrBUmUZUCPp45d9iHEIplUjuJ1J5PZY5BMMKgw2wBeIgCdIgA45BDhQBBlfgDjyAR+1au9eetOdha0gbzayDb6W9fQIsfqO1</latexit>

(TC

REQ+ TC

FETCH+ TC

PMD+ TC

XFER)� (TE

REQ+ TE

FILE+ TE

XFER) �

<latexit sha1_base64="uNYVKg6o3/iGJpa3xAV1wmgH8/Y=">AAACSXicdZBLSwMxFIUz9V1fVZeCBIugiGWmLnQhKNQpCgptaWuhrTWTpjWYeZhkhDJ06X9y68aNO3f+BrtxoYgr0yf1dSHw3XPvIcmxPEaF1PVnLTQyOjY+MTkVnp6ZnZuPLCzmhetzTHLYZS4vWEgQRh2Sk1QyUvA4QbbFyJl1lWjPz24IF9R1srLhkbKN6g6tUYykkiqRi/XseaISZMx0E27CDifNbOJo0KVODwdcSJqZ5gbcgspkDpkUJ49PzEHT2yvVyTWsRKJGTO8U/B+i+/cvtyt36VaqEnkqVV3s28SRmCEhiobuyXKAuKSYkWa45AviIXyF6qSo0EE2EeWgk0QTrimlCmsuV8eRsKMOOwJkC9GwLbVpI3kpfs7a4l+zoi9ru+WAOp4viYO7F9V8BqUL27HCKuUES9ZQgDCn6q0QXyKOsFThh1UIev/Lv6EfQj4eM7Zj8bQePdgD3ZoEy2AVrAMD7IADcARSIAcweAAt8AbetUftVfvQPrurIa3nWQLfKjTyBXvgsKc=</latexit>

21

COMPARISON AT 99TH PERCENTILE — LIMITED BANDWIDTHFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

0.0

0.10.2

0.30.4

0.50.6

0.70.8

0.91.0

2 2.5 3 3.5 4

RTT [S&P 500 EDGE]

99th Percentile @ 3.48s 99th Percentile @ 24.20s

0.0

0.10.2

0.30.4

0.50.6

0.70.8

0.91.0

18 19 20 21 22 23 24 25 26 27 28

RTT [S&P 500 EDGE (BW Limited)]

22

FRET.key - December 8, 2019

Page 12: FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4 ...fhabib/csc2228/FRET.Presentation.pdf · FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES FAISAL HABIB CSC 2228 PROJECT PRESENTATION

CONCLUSIONFRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

‣ Edge servers improve latencies

‣ Not limited by bandwidth

‣ Network Savings > Compute Costs

‣ Edge is not a drop-in replacement to cloud

‣ Additional components needed

‣ Application redesign & refactoring

‣ Well designed applications/systems can benefit:

‣ Compute intensive tasks can remain on the cloud

‣ Update edge servers (cache the data on the edge)

‣ Edge servers carry out light weight computations

23

FRET.key - December 8, 2019