FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES 1 FRET: FOG - - PDF document

fret fog computing for realtime exotic trades
SMART_READER_LITE
LIVE PREVIEW

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES 1 FRET: FOG - - PDF document

FAISAL HABIB CSC 2228 PROJECT PRESENTATION DECEMBER 4, 2019 FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES 1 FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES INTRODUCTION Quick Overview of Financial Instruments Problem Description


slide-1
SLIDE 1

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

slide-2
SLIDE 2

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 INSTRUMENTS

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

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

4 FRET.key - December 8, 2019

slide-3
SLIDE 3

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 INSTRUMENTS

FRET: 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

slide-4
SLIDE 4

FINANCIAL INSTRUMENTS

FRET: 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 INSTRUMENTS

FRET: 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−qT N(d1) − Ke−rT N(d2) Vput = Ke−rT N(−d2) − Se−qT N(−d1)

<latexit sha1_base64="GXOwJ1Si3Ph/YbBMr0yDNaztokM=">ACfnicdVHbTtAEF275dKUQmgfedkSgbjIwU4rwQtSJF6QKlVBkIAUB2u9mYQV6wu7Y9TI8mfwY7z1W3hnQsCmo52pdE5c2Zmz4apFBpd969lf/i4sLi0/KnyeXL6lp1/WtHJ5ni0OaJTNRVyDRIEUMbBUq4ShWwKJRwGd6elPzlPSgtkvgCRyn0IjaMxUBwhgYKqg+dIPcR/mDOmZRFQbeP6Tlc587dReFHDG8MnP8udvqBt0sd+quk1HuqsUt935zKS7M0w0mveQJnrHDmznHKQZWgWvPq7jo/5MamUYrqD76/YRnEcTIJdO67kp9nKmUHAJRcXPNKSM37IhdE0aswh0Lx/bV9Atg/TpIFHmxkjH6GtFziKtR1FoKstN9XuBOdx3QwHR71cxMYNiPlk0CTFBNa/gXtCwUc5cgkjCthdqX8hinG0fxYaYI7e/K/ycyETqPu/ag3zn7Wms2pHctkg2ySHeKRQ9Ikp6RF2oSTJ+u7tWft28Teth37YFJqW1PN/Im7KNnCW2+Pg=</latexit>

d1 = 1 σ √ T  ln S K + ✓ r − q + σ2 2 ◆ T

  • d2 = d1 − σ

√ T

<latexit sha1_base64="JjTkS2Jbv5mw6wD/yJmt8kP+U=">ACdnicdVFdaxQxFM1M/ajr1qfRJDQpVqRLjPTgr4UFnwRfKm42xY245DJZHZDM5lpckdYQn6Cf863/g5fDSzswWtekng5Jx7OclJ3khIqugnDr1u07d7fvDe4/ePjo8fDJzqmpW834jNWy1uc5NVwKxWcgQPLzRnNa5ZKf5RfvO/3sK9dG1GoKq4anFV0oUQpGwVPZ8FuRxfjlMSalpszGzhIjFhXFxFxqsFPnMJG8hDmRatPz2dmPDr/p+X2ND/Bld1pr/fCXxNnES0WS3g9xT1IMSF+DYos6fw62wN8w2yQDUfxOFoX/j8YoU2dZMPvpKhZW3EFTFJj5nHUQGqpBsEkdwPSGt5QdkEXfO6hohU3qV3H5vCeZwpc1tpvBXjN/j5haWXMqsp9Z0VhaW5qHfkvbd5C+S61QjUtcMV6o7KVGrc/QEuhOYM5MoDyrTwd8VsSX2A4H+qCyG6fvLf4DqE02QcH46T0ejyWQTxzZ6jnbRPorRWzRBH9AJmiGfgTPgt1gFPwMX4R74au+NQw2M0/RHxVGvwC7JbtZ</latexit>

8 FRET.key - December 8, 2019

slide-5
SLIDE 5

IMPLIED VOLATILITY

FRET: 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 VOLATILITY

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES 10 FRET.key - December 8, 2019

slide-6
SLIDE 6

IMPLIED VOLATILITY SURFACE

FRET: 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 DESCRIPTION

FRET: 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

slide-7
SLIDE 7

FRET PROTOTYPE SETUP

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES 13

FRET PROTOTYPE SETUP

FRET: 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

slide-8
SLIDE 8

COMPUTATIONS — CLOUD

FRET: 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 — EDGE

FRET: 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

slide-9
SLIDE 9

REQUEST & RESPONSE

FRET: 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 27063 Cloud 2.6548 2.791 2.7091 2.6559 2.9362 3.1173 3.4135 3.5967 Edge 1.5754 2.0735 1.5624 1.6628 1.6774 1.8764 2.1527 2.7127 0.5 1 1.5 2 2.5 3 3.5 4 Time (s)

Average Round Trip Times for S&P 500 Options

▸ 25% Improvement (128 options)

18 FRET.key - December 8, 2019

slide-10
SLIDE 10

LATENCY COMPARISON (AAPL)

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

▸ 46% Improvement (128 options)!

327 533 952 1775 3459 6807 13596 27063 Cloud 4.2652 4.2043 4.1631 4.1953 4.3556 4.4231 4.8221 5.1224 Edge 1.5152 1.4714 1.4796 1.4703 1.5928 1.7974 2.1032 2.737 1 2 3 4 5 6 Time (s)

Average Round Trip Time for AAPL Options

19

COMPARISON AT 99TH PERCENTILE

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 3 3.5 4 4.5 5 5.5

RTT [S&P 500 CLOUD]

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.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

slide-11
SLIDE 11

EDGE ADVANTAGE

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

TEDGE = T E

REQ + T E P ROC + T E F ILE + T E P RICE + T E XF ER

<latexit sha1_base64="Q7y6stOhZmEPue2XCXQ/2Ynhu70=">ACM3icdVDZSgMxFM241rqN+uhLsCiCUKYq6INCoY4bgrV0g3YcMmlqQzMLSUYow/yTL/6ID4L4oIiv/oPpotbtQODc+7l5h4nYFRIw3jQRkbHxicmE1PJ6ZnZuXl9YbEs/JBjUsI+83nVQYIw6pGSpJKRasAJch1GKk471/Ur14QL6ntF2QmI5aIrjzYpRlJtn5atCPz4MiM4do+LF6adlQwL2K40ef5wnuszg8OTOHnJPcV1U9NAuxracyaMH+D9JgQHytn5Xb/g4dIknMUNC1DJGIK0IcUkxI3GyHgoSINxGV6SmqIdcIqyod3MV5XSgE2fq+dJ2FOHJyLkCtFxHdXpItkSP72u+JdXC2Vz14qoF4SeLi/qBkyKH3YDRA2KCdYso4iCHOq/gpxC3GEpYo5qUIwPk7+T5CKG+mM1vpzYvtVHZvEcCLIMVsA4yYAdkwTHIgxLA4AbcgyfwrN1qj9qL9tpvHdEGM0vgG7S3d4p1pgY=</latexit>

Network Savings ≥ Compute Penalty

<latexit sha1_base64="NGN5wRvebt3pgWOZVKhSWt5SaVs=">ACG3icdVDLSgMxFM34tr6qLgUJFsFVmdaFLgQFN6kolWhLSWT3tbQTDImd9QydOk/uPE/XAniQhFXgu/QT/CtFXweSBwOdebs4JIiks+v6L19c/MDg0PDKaGhufmJxKT8/sWx0bDkWupTaHAbMghYIiCpRwGBlgYSDhIGhudvyDEzBWaLWHrQgqIWsoURecoZOq6XwZ4QyTbcBTbZp0l50I1bBtWm7AMe15mzqMYgRaAMUktrVdCaX9bug/5PM+s3r+fzVzluhmn4q1zSPQ1DIJbO2lPMjrCTMoOAS2qlybCFivMkaUHJUsRBsJelma9NFp9RoXRv3FNKu+nUjYaG1rTBwkyHDI/vT64h/eaUY6uVRKhONsV7h+qxpKhpyhaEwY4ypYjBvh/kr5ETOMo6sz5UrwPyP/Jp8l7OezueVsfsfPbKyRHkbIHFkgSyRHVsgG2SIFUiScXJBrckfuvUv1nvwHnujfd7Hziz5Bu/5Hb3epuY=</latexit>

TCLOUD = T C

REQ + T C P ROC + T C F ET CH + T C P MD + T C P RICE + T C XF ER

<latexit sha1_base64="2Y75ycHFRYt/rKx5HK8An4rau6g=">ACQXicdVBJSwMxGM3UvW5Vj16CRGEMq2CHhQK0xEFpQutFtpxyKSpBjMLSUYow/w1L/4Db969eFDEqxfT1f1B4H3vY8kzwkYFVLXH7TE2PjE5NT0THJ2bn5hMbW0fCb8kGNSwz7zed1BgjDqkZqkpF6wAlyHUbOnWuj65/fEC6o71VlJyCWiy492qYSXZqXrVjoyTYq0Qw40DWL0w7KhilmO41elStEYDYdm1Tj6tE4LX2LHhjma6odmJbZT6WxG7wH+T9JgJKdum+2fBy6xJOYISEaWT2QVoS4pJiRONkMBQkQvkaXpKGoh1wirKjXQAzXldKCbZ+r40nYU79uRMgVouM6KukieSV+el3xL68RyvaeFVEvCXxcP+idsig9G3TtinGDJOogzKl6K8RXiCMsVelJVYI+/PJvMizhLJfJbmdy5Z10fn9QxzRYBWtgE2TBLsiDI1ACNYDBLXgEz+BFu9OetFftrR9NaIOdFfAN2vsHWLuqzA=</latexit>

(T E

P ROC + T E P RICE) − (T C P ROC + T C P RICE)

<latexit sha1_base64="+m67/Zp5aGKPHwQnlP5h0N7KjUk=">ACIHicdZDLSgMxFIYz9VbrepSkGARKmKZ1kVdCBaGgq5spTdoa8mkmTY0cyHJCGXo0sdw41O4FTcuFNGdvoI+hOlN6u1A4M/nUNyftNjVEhdf9VCU9Mzs3Ph+cjC4tLySnR1rSRcn2NSxC5zecVEgjDqkKkpGKxwmyTUbKZsfo8/IF4YK6TkF2PVK3UcuhFsVIKqsRTcL59lGkDs7NXpwF4uJ0a2twP3oILGJDS+YCMaSyb0QcH/Rezo9v1y8yb/kWtEX2pNF/s2cSRmSIhqUvdkPUBcUsxIL1LzBfEQ7qAWqSrpIJuIejBYsAe3ldOElsvVcSQcuJMTAbKF6Nqm6rSRbIufrG/+xaq+tA7qAXU8XxIHDx+yfAalC/tpwSblBEvWVQJhTtVfIW4jrBUmUZUCPp45d9iHEIplUjuJ1J5PZY5BMKgw2wBeIgCdIgA45BDhQBlfgDjyAR+1au9etOdha0gbzayDb6W9fQIsfqO1</latexit>

(T C

REQ + T C F ET CH + T C P MD + T C XF ER) − (T E REQ + T E F ILE + T E XF ER) ≥

<latexit sha1_base64="uNYVKg6o3/iGJpa3xAV1wmgH8/Y=">ACSXicdZBLSwMxFIUz9V1fVZeCBIugiGWmLnQhKNQpCgptaWuhrTWTpjWYeZhkhDJ06X9y68aNO3f+BrtxoYgr0yf1dSHw3XPvIcmxPEaF1PVnLTQyOjY+MTkVnp6ZnZuPLCzmhetzTHLYZS4vWEgQRh2Sk1QyUvA4QbFyJl1lWjPz24IF9R1srLhkbKN6g6tUYykiqRi/XseaISZMx0E27CDifNbOJo0KVODwdcSJqZ5gbcgspkDpkUJ49PzEHT2yvVyTWsRKJGTO8U/B+i+/cvtyt36VaqEnkqV3s28SRmCEhiobuyXKAuKSYkWa45AviIXyF6qSo0E2EeWgk0QTrimlCmsuV8eRsKMOwJkC9GwLbVpI3kpfs7a4l+zoi9ru+WAOp4viYO7F9V8BqUL27HCKuUES9ZQgDCn6q0QXyKOsFTh1UIev/Lv6EfQj4eM7Zj8bQePdgD3ZoEy2AVrAMD7IADcARSIAcweAt8AbetUftVfvQPrurIa3nWQLfKjTyBXvgsKc=</latexit>

21

COMPARISON AT 99TH PERCENTILE — LIMITED BANDWIDTH

FRET: FOG COMPUTING FOR REALTIME EXOTIC TRADES

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 2 2.5 3 3.5 4

RTT [S&P 500 EDGE]

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

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.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

slide-12
SLIDE 12

CONCLUSION

FRET: 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