tx · 2J2kmTneo2bKAKpvPAxq1BGbrbpXXqiboXdtMGDvT4E9 3MvQVj21fwPXbyXsrVDV2Sf639TcWTsaxmC: -0.09000000 Waves 2020.01.08 13:25 [844816] smart account 3MvQVj21fwPXbyXsrVDV2Sf639TcWTsaxmC > SELF 0.00000000 Waves
{ "type": 13, "id": "2J2kmTneo2bKAKpvPAxq1BGbrbpXXqiboXdtMGDvT4E9", "fee": 9000000, "feeAssetId": null, "timestamp": 1578479124354, "version": 1, "sender": "3MvQVj21fwPXbyXsrVDV2Sf639TcWTsaxmC", "senderPublicKey": "GfU9G8BJcrUfL2H2QthDHbeLHThimafNuKPuDQm9wbzr", "proofs": [ "psDnULbtShth6eqBPHh637oGDBmqgzkisJtMvDDc2hd9eXziimumgLSPm7eUM4AKkZ4edGGK9a6HVdaaC4yZxUJ" ], "script": "base64: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", "chainId": 84, "height": 844816, "spentComplexity": 0 } View: original | compacted Prev: eHzMSZXkiqkU6dxzpfiCgn7ABjRf95egH59Xm4KJquu Next: EhRsq3RftxU1TpBCfd5zLbP43gcG5T4nVCSvKgee8Soh Diff:
Old | New | Differences | |
---|---|---|---|
37 | 37 | then (fifthProjectedPrice - K) | |
38 | 38 | else 0 | |
39 | 39 | let firstLevelFirstValue = ((fraction(firstInnerPrice, pUp, (FACTOR * FACTOR)) + fraction(secondInnerPrice, pDown, (FACTOR * FACTOR))) * df) | |
40 | - | WriteSet([DataEntry("deltaT", deltaT), DataEntry("sqrtDeltaT", sqrtDeltaT), DataEntry("up", up), DataEntry("down", down), DataEntry("df", df), DataEntry("pUp", pUp), DataEntry("pDown", pDown), DataEntry("firstInnerPrice", firstInnerPrice), DataEntry("secondInnerPrice", secondInnerPrice), DataEntry("thirdInnerPrice", thirdInnerPrice), DataEntry("fourthInnerPrice", fourthInnerPrice), DataEntry("fifthInnerPrice", fifthInnerPrice), DataEntry("firstLevelFirstValue", firstLevelFirstValue)]) | |
40 | + | let firstLevelSecondValue = ((fraction(secondInnerPrice, pUp, (FACTOR * FACTOR)) + fraction(thirdInnerPrice, pDown, (FACTOR * FACTOR))) * df) | |
41 | + | let firstLevelThirdValue = ((fraction(thirdInnerPrice, pUp, (FACTOR * FACTOR)) + fraction(fourthInnerPrice, pDown, (FACTOR * FACTOR))) * df) | |
42 | + | let firstLevelFifthValue = ((fraction(fourthInnerPrice, pUp, (FACTOR * FACTOR)) + fraction(fifthInnerPrice, pDown, (FACTOR * FACTOR))) * df) | |
43 | + | let secondLevelFirstValue = ((fraction(firstLevelFirstValue, pUp, (FACTOR * FACTOR)) + fraction(firstLevelSecondValue, pDown, (FACTOR * FACTOR))) * df) | |
44 | + | let secondLevelSecondValue = ((fraction(firstLevelSecondValue, pUp, (FACTOR * FACTOR)) + fraction(firstLevelThirdValue, pDown, (FACTOR * FACTOR))) * df) | |
45 | + | let secondLevelThirdValue = ((fraction(firstLevelSecondValue, pUp, (FACTOR * FACTOR)) + fraction(firstLevelThirdValue, pDown, (FACTOR * FACTOR))) * df) | |
46 | + | let thirdLevelFirstValue = ((fraction(secondLevelFirstValue, pUp, (FACTOR * FACTOR)) + fraction(secondLevelSecondValue, pDown, (FACTOR * FACTOR))) * df) | |
47 | + | let thirdLevelSecondValue = ((fraction(secondLevelSecondValue, pUp, (FACTOR * FACTOR)) + fraction(secondLevelThirdValue, pDown, (FACTOR * FACTOR))) * df) | |
48 | + | let fourthLevel = ((fraction(thirdLevelFirstValue, pUp, (FACTOR * FACTOR)) + fraction(thirdLevelSecondValue, pDown, (FACTOR * FACTOR))) * df) | |
49 | + | WriteSet([DataEntry("deltaT", deltaT), DataEntry("sqrtDeltaT", sqrtDeltaT), DataEntry("up", up), DataEntry("down", down), DataEntry("df", df), DataEntry("pUp", pUp), DataEntry("pDown", pDown), DataEntry("firstInnerPrice", firstInnerPrice), DataEntry("secondInnerPrice", secondInnerPrice), DataEntry("thirdInnerPrice", thirdInnerPrice), DataEntry("fourthInnerPrice", fourthInnerPrice), DataEntry("fifthInnerPrice", fifthInnerPrice), DataEntry("firstLevelFirstValue", firstLevelFirstValue), DataEntry("finalValue", fourthLevel)]) | |
41 | 50 | } | |
42 | 51 | ||
43 | 52 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let FACTOR = 1000000 | |
5 | 5 | ||
6 | 6 | let FACTORDECIMALS = 6 | |
7 | 7 | ||
8 | 8 | let E = 2718281 | |
9 | 9 | ||
10 | 10 | @Callable(i) | |
11 | 11 | func coxRossRubinsteinCall (T,S,K,r,sigma,n) = { | |
12 | 12 | let deltaT = fraction(T, FACTOR, (365 * n)) | |
13 | 13 | let sqrtDeltaT = pow(deltaT, FACTORDECIMALS, 5, 1, FACTORDECIMALS, HALFUP) | |
14 | 14 | let up = pow(E, FACTORDECIMALS, fraction(sigma, sqrtDeltaT, 100), FACTORDECIMALS, FACTORDECIMALS, HALFUP) | |
15 | 15 | let down = fraction(1, (FACTOR * FACTOR), up) | |
16 | 16 | let df = pow(E, FACTORDECIMALS, fraction(-(r), deltaT, 100), FACTORDECIMALS, FACTORDECIMALS, HALFUP) | |
17 | 17 | let pUp = fraction((pow(E, FACTORDECIMALS, fraction(r, deltaT, 100), FACTORDECIMALS, FACTORDECIMALS, HALFUP) - down), FACTOR, (up - down)) | |
18 | 18 | let pDown = (FACTOR - pUp) | |
19 | 19 | let firstProjectedPrice = fraction(((S * pow(up, FACTORDECIMALS, 4, 0, FACTORDECIMALS, HALFUP)) * pow(down, FACTORDECIMALS, 0, 0, FACTORDECIMALS, HALFUP)), 1, FACTOR) | |
20 | 20 | let secondProjectedPrice = fraction(((S * pow(up, FACTORDECIMALS, 3, 0, FACTORDECIMALS, HALFUP)) * pow(down, FACTORDECIMALS, 1, 0, FACTORDECIMALS, HALFUP)), 1, FACTOR) | |
21 | 21 | let thirdProjectedPrice = fraction(((S * pow(up, FACTORDECIMALS, 2, 0, FACTORDECIMALS, HALFUP)) * pow(down, FACTORDECIMALS, 2, 0, FACTORDECIMALS, HALFUP)), 1, FACTOR) | |
22 | 22 | let fourthProjectedPrice = fraction(((S * pow(up, FACTORDECIMALS, 1, 0, FACTORDECIMALS, HALFUP)) * pow(down, FACTORDECIMALS, 3, 0, FACTORDECIMALS, HALFUP)), 1, FACTOR) | |
23 | 23 | let fifthProjectedPrice = fraction(((S * pow(up, FACTORDECIMALS, 0, 0, FACTORDECIMALS, HALFUP)) * pow(down, FACTORDECIMALS, 4, 0, FACTORDECIMALS, HALFUP)), 1, FACTOR) | |
24 | 24 | let firstInnerPrice = if ((firstProjectedPrice > (K * FACTOR))) | |
25 | 25 | then (firstProjectedPrice - (K * FACTOR)) | |
26 | 26 | else 0 | |
27 | 27 | let secondInnerPrice = if ((secondProjectedPrice > (K * FACTOR))) | |
28 | 28 | then (secondProjectedPrice - (K * FACTOR)) | |
29 | 29 | else 0 | |
30 | 30 | let thirdInnerPrice = if ((thirdProjectedPrice > (K * FACTOR))) | |
31 | 31 | then (thirdProjectedPrice - (K * FACTOR)) | |
32 | 32 | else 0 | |
33 | 33 | let fourthInnerPrice = if ((fourthProjectedPrice > (K * FACTOR))) | |
34 | 34 | then (fourthProjectedPrice - K) | |
35 | 35 | else 0 | |
36 | 36 | let fifthInnerPrice = if ((fifthProjectedPrice > (K * FACTOR))) | |
37 | 37 | then (fifthProjectedPrice - K) | |
38 | 38 | else 0 | |
39 | 39 | let firstLevelFirstValue = ((fraction(firstInnerPrice, pUp, (FACTOR * FACTOR)) + fraction(secondInnerPrice, pDown, (FACTOR * FACTOR))) * df) | |
40 | - | WriteSet([DataEntry("deltaT", deltaT), DataEntry("sqrtDeltaT", sqrtDeltaT), DataEntry("up", up), DataEntry("down", down), DataEntry("df", df), DataEntry("pUp", pUp), DataEntry("pDown", pDown), DataEntry("firstInnerPrice", firstInnerPrice), DataEntry("secondInnerPrice", secondInnerPrice), DataEntry("thirdInnerPrice", thirdInnerPrice), DataEntry("fourthInnerPrice", fourthInnerPrice), DataEntry("fifthInnerPrice", fifthInnerPrice), DataEntry("firstLevelFirstValue", firstLevelFirstValue)]) | |
40 | + | let firstLevelSecondValue = ((fraction(secondInnerPrice, pUp, (FACTOR * FACTOR)) + fraction(thirdInnerPrice, pDown, (FACTOR * FACTOR))) * df) | |
41 | + | let firstLevelThirdValue = ((fraction(thirdInnerPrice, pUp, (FACTOR * FACTOR)) + fraction(fourthInnerPrice, pDown, (FACTOR * FACTOR))) * df) | |
42 | + | let firstLevelFifthValue = ((fraction(fourthInnerPrice, pUp, (FACTOR * FACTOR)) + fraction(fifthInnerPrice, pDown, (FACTOR * FACTOR))) * df) | |
43 | + | let secondLevelFirstValue = ((fraction(firstLevelFirstValue, pUp, (FACTOR * FACTOR)) + fraction(firstLevelSecondValue, pDown, (FACTOR * FACTOR))) * df) | |
44 | + | let secondLevelSecondValue = ((fraction(firstLevelSecondValue, pUp, (FACTOR * FACTOR)) + fraction(firstLevelThirdValue, pDown, (FACTOR * FACTOR))) * df) | |
45 | + | let secondLevelThirdValue = ((fraction(firstLevelSecondValue, pUp, (FACTOR * FACTOR)) + fraction(firstLevelThirdValue, pDown, (FACTOR * FACTOR))) * df) | |
46 | + | let thirdLevelFirstValue = ((fraction(secondLevelFirstValue, pUp, (FACTOR * FACTOR)) + fraction(secondLevelSecondValue, pDown, (FACTOR * FACTOR))) * df) | |
47 | + | let thirdLevelSecondValue = ((fraction(secondLevelSecondValue, pUp, (FACTOR * FACTOR)) + fraction(secondLevelThirdValue, pDown, (FACTOR * FACTOR))) * df) | |
48 | + | let fourthLevel = ((fraction(thirdLevelFirstValue, pUp, (FACTOR * FACTOR)) + fraction(thirdLevelSecondValue, pDown, (FACTOR * FACTOR))) * df) | |
49 | + | WriteSet([DataEntry("deltaT", deltaT), DataEntry("sqrtDeltaT", sqrtDeltaT), DataEntry("up", up), DataEntry("down", down), DataEntry("df", df), DataEntry("pUp", pUp), DataEntry("pDown", pDown), DataEntry("firstInnerPrice", firstInnerPrice), DataEntry("secondInnerPrice", secondInnerPrice), DataEntry("thirdInnerPrice", thirdInnerPrice), DataEntry("fourthInnerPrice", fourthInnerPrice), DataEntry("fifthInnerPrice", fifthInnerPrice), DataEntry("firstLevelFirstValue", firstLevelFirstValue), DataEntry("finalValue", fourthLevel)]) | |
41 | 50 | } | |
42 | 51 | ||
43 | 52 |
github/deemru/w8io/873ac7e 29.04 ms ◑![]()