Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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