Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Results:
- FINAL BALANCE is: 4.5198 ETH, 846.8747 $. Rebalance count is 39 Upper bound is: 70 Lower bound is: 10
- FINAL BALANCE is: 0.0000 ETH, 1550.5890 $. Rebalance count is 293 Upper bound is: 39 Lower bound is: 10
- FINAL BALANCE is: 0.0000 ETH, 1592.4774 $. Rebalance count is 322 Upper bound is: 38 Lower bound is: 10
- FINAL BALANCE is: 0.0000 ETH, 1595.7948 $. Rebalance count is 372 Upper bound is: 36 Lower bound is: 10
- FINAL BALANCE is: 5.0933 ETH, 954.3242 $. Rebalance count is 40 Upper bound is: 70 Lower bound is: 11
- Starting balance: balance is 1 ETH. $ balance is: 1119.37$
- BEST ETH holding is: 11.478407679686171
- BEST VALUES are: Lower bound: 11 Upper bound is: 70:
- */
- /****************************** Input data area *****************************************/
- var dates=[ "14/01/2020", "13/01/2020",
- "12/1/2020",
- "11/1/2020",
- "10/1/2020",
- "9/1/2020",
- "8/1/2020",
- "7/1/2020",
- "6/1/2020",
- "5/1/2020",
- "4/1/2020",
- "3/1/2020",
- "2/1/2020",
- "1/1/2020",
- "31/12/2019",
- "30/12/2019",
- "29/12/2019",
- "28/12/2019",
- "27/12/2019",
- "26/12/2019",
- "25/12/2019",
- "24/12/2019",
- "23/12/2019",
- "22/12/2019",
- "21/12/2019",
- "20/12/2019",
- "19/12/2019",
- "18/12/2019",
- "17/12/2019",
- "16/12/2019",
- "15/12/2019",
- "14/12/2019",
- "13/12/2019",
- "12/12/2019",
- "11/12/2019",
- "10/12/2019",
- "9/12/2019",
- "8/12/2019",
- "7/12/2019",
- "6/12/2019",
- "5/12/2019",
- "4/12/2019",
- "3/12/2019",
- "2/12/2019",
- "1/12/2019",
- "30/11/2019",
- "29/11/2019",
- "28/11/2019",
- "27/11/2019",
- "26/11/2019",
- "25/11/2019",
- "24/11/2019",
- "23/11/2019",
- "22/11/2019",
- "21/11/2019",
- "20/11/2019",
- "19/11/2019",
- "18/11/2019",
- "17/11/2019",
- "16/11/2019",
- "15/11/2019",
- "14/11/2019",
- "13/11/2019",
- "12/11/2019",
- "11/11/2019",
- "10/11/2019",
- "9/11/2019",
- "8/11/2019",
- "7/11/2019",
- "6/11/2019",
- "5/11/2019",
- "4/11/2019",
- "3/11/2019",
- "2/11/2019",
- "1/11/2019",
- "31/10/2019",
- "30/10/2019",
- "29/10/2019",
- "28/10/2019",
- "27/10/2019",
- "26/10/2019",
- "25/10/2019",
- "24/10/2019",
- "23/10/2019",
- "22/10/2019",
- "21/10/2019",
- "20/10/2019",
- "19/10/2019",
- "18/10/2019",
- "17/10/2019",
- "16/10/2019",
- "15/10/2019",
- "14/10/2019",
- "13/10/2019",
- "12/10/2019",
- "11/10/2019",
- "10/10/2019",
- "9/10/2019",
- "8/10/2019",
- "7/10/2019",
- "6/10/2019",
- "5/10/2019",
- "4/10/2019",
- "3/10/2019",
- "2/10/2019",
- "1/10/2019",
- "30/09/2019",
- "29/09/2019",
- "28/09/2019",
- "27/09/2019",
- "26/09/2019",
- "25/09/2019",
- "24/09/2019",
- "23/09/2019",
- "22/09/2019",
- "21/09/2019",
- "20/09/2019",
- "19/09/2019",
- "18/09/2019",
- "17/09/2019",
- "16/09/2019",
- "15/09/2019",
- "14/09/2019",
- "13/09/2019",
- "12/9/2019",
- "11/9/2019",
- "10/9/2019",
- "9/9/2019",
- "8/9/2019",
- "7/9/2019",
- "6/9/2019",
- "5/9/2019",
- "4/9/2019",
- "3/9/2019",
- "2/9/2019",
- "1/9/2019",
- "31/08/2019",
- "30/08/2019",
- "29/08/2019",
- "28/08/2019",
- "27/08/2019",
- "26/08/2019",
- "25/08/2019",
- "24/08/2019",
- "23/08/2019",
- "22/08/2019",
- "21/08/2019",
- "20/08/2019",
- "19/08/2019",
- "18/08/2019",
- "17/08/2019",
- "16/08/2019",
- "15/08/2019",
- "14/08/2019",
- "13/08/2019",
- "12/8/2019",
- "11/8/2019",
- "10/8/2019",
- "9/8/2019",
- "8/8/2019",
- "7/8/2019",
- "6/8/2019",
- "5/8/2019",
- "4/8/2019",
- "3/8/2019",
- "2/8/2019",
- "1/8/2019",
- "31/07/2019",
- "30/07/2019",
- "29/07/2019",
- "28/07/2019",
- "27/07/2019",
- "26/07/2019",
- "25/07/2019",
- "24/07/2019",
- "23/07/2019",
- "22/07/2019",
- "21/07/2019",
- "20/07/2019",
- "19/07/2019",
- "18/07/2019",
- "17/07/2019",
- "16/07/2019",
- "15/07/2019",
- "14/07/2019",
- "13/07/2019",
- "12/7/2019",
- "11/7/2019",
- "10/7/2019",
- "9/7/2019",
- "8/7/2019",
- "7/7/2019",
- "6/7/2019",
- "5/7/2019",
- "4/7/2019",
- "3/7/2019",
- "2/7/2019",
- "1/7/2019",
- "30/06/2019",
- "29/06/2019",
- "28/06/2019",
- "27/06/2019",
- "26/06/2019",
- "25/06/2019",
- "24/06/2019",
- "23/06/2019",
- "22/06/2019",
- "21/06/2019",
- "20/06/2019",
- "19/06/2019",
- "18/06/2019",
- "17/06/2019",
- "16/06/2019",
- "15/06/2019",
- "14/06/2019",
- "13/06/2019",
- "12/6/2019",
- "11/6/2019",
- "10/6/2019",
- "9/6/2019",
- "8/6/2019",
- "7/6/2019",
- "6/6/2019",
- "5/6/2019",
- "4/6/2019",
- "3/6/2019",
- "2/6/2019",
- "1/6/2019",
- "31/05/2019",
- "30/05/2019",
- "29/05/2019",
- "28/05/2019",
- "27/05/2019",
- "26/05/2019",
- "25/05/2019",
- "24/05/2019",
- "23/05/2019",
- "22/05/2019",
- "21/05/2019",
- "20/05/2019",
- "19/05/2019",
- "18/05/2019",
- "17/05/2019",
- "16/05/2019",
- "15/05/2019",
- "14/05/2019",
- "13/05/2019",
- "12/5/2019",
- "11/5/2019",
- "10/5/2019",
- "9/5/2019",
- "8/5/2019",
- "7/5/2019",
- "6/5/2019",
- "5/5/2019",
- "4/5/2019",
- "3/5/2019",
- "2/5/2019",
- "1/5/2019",
- "30/04/2019",
- "29/04/2019",
- "28/04/2019",
- "27/04/2019",
- "26/04/2019",
- "25/04/2019",
- "24/04/2019",
- "23/04/2019",
- "22/04/2019",
- "21/04/2019",
- "20/04/2019",
- "19/04/2019",
- "18/04/2019",
- "17/04/2019",
- "16/04/2019",
- "15/04/2019",
- "14/04/2019",
- "13/04/2019",
- "12/4/2019",
- "11/4/2019",
- "10/4/2019",
- "9/4/2019",
- "8/4/2019",
- "7/4/2019",
- "6/4/2019",
- "5/4/2019",
- "4/4/2019",
- "3/4/2019",
- "2/4/2019",
- "1/4/2019",
- "31/03/2019",
- "30/03/2019",
- "29/03/2019",
- "28/03/2019",
- "27/03/2019",
- "26/03/2019",
- "25/03/2019",
- "24/03/2019",
- "23/03/2019",
- "22/03/2019",
- "21/03/2019",
- "20/03/2019",
- "19/03/2019",
- "18/03/2019",
- "17/03/2019",
- "16/03/2019",
- "15/03/2019",
- "14/03/2019",
- "13/03/2019",
- "12/3/2019",
- "11/3/2019",
- "10/3/2019",
- "9/3/2019",
- "8/3/2019",
- "7/3/2019",
- "6/3/2019",
- "5/3/2019",
- "4/3/2019",
- "3/3/2019",
- "2/3/2019",
- "1/3/2019",
- "28/02/2019",
- "27/02/2019",
- "26/02/2019",
- "25/02/2019",
- "24/02/2019",
- "23/02/2019",
- "22/02/2019",
- "21/02/2019",
- "20/02/2019",
- "19/02/2019",
- "18/02/2019",
- "17/02/2019",
- "16/02/2019",
- "15/02/2019",
- "14/02/2019",
- "13/02/2019",
- "12/2/2019",
- "11/2/2019",
- "10/2/2019",
- "9/2/2019",
- "8/2/2019",
- "7/2/2019",
- "6/2/2019",
- "5/2/2019",
- "4/2/2019",
- "3/2/2019",
- "2/2/2019",
- "1/2/2019",
- "31/01/2019",
- "30/01/2019",
- "29/01/2019",
- "28/01/2019",
- "27/01/2019",
- "26/01/2019",
- "25/01/2019",
- "24/01/2019",
- "23/01/2019",
- "22/01/2019",
- "21/01/2019",
- "20/01/2019",
- "19/01/2019",
- "18/01/2019",
- "17/01/2019",
- "16/01/2019",
- "15/01/2019",
- "14/01/2019",
- "13/01/2019",
- "12/1/2019",
- "11/1/2019",
- "10/1/2019",
- "9/1/2019",
- "8/1/2019",
- "7/1/2019",
- "6/1/2019",
- "5/1/2019",
- "4/1/2019",
- "3/1/2019",
- "2/1/2019",
- "1/1/2019",
- "31/12/2018",
- "30/12/2018",
- "29/12/2018",
- "28/12/2018",
- "27/12/2018",
- "26/12/2018",
- "25/12/2018",
- "24/12/2018",
- "23/12/2018",
- "22/12/2018",
- "21/12/2018",
- "20/12/2018",
- "19/12/2018",
- "18/12/2018",
- "17/12/2018",
- "16/12/2018",
- "15/12/2018",
- "14/12/2018",
- "13/12/2018",
- "12/12/2018",
- "11/12/2018",
- "10/12/2018",
- "9/12/2018",
- "8/12/2018",
- "7/12/2018",
- "6/12/2018",
- "5/12/2018",
- "4/12/2018",
- "3/12/2018",
- "2/12/2018",
- "1/12/2018",
- "30/11/2018",
- "29/11/2018",
- "28/11/2018",
- "27/11/2018",
- "26/11/2018",
- "25/11/2018",
- "24/11/2018",
- "23/11/2018",
- "22/11/2018",
- "21/11/2018",
- "20/11/2018",
- "19/11/2018",
- "18/11/2018",
- "17/11/2018",
- "16/11/2018",
- "15/11/2018",
- "14/11/2018",
- "13/11/2018",
- "12/11/2018",
- "11/11/2018",
- "10/11/2018",
- "9/11/2018",
- "8/11/2018",
- "7/11/2018",
- "6/11/2018",
- "5/11/2018",
- "4/11/2018",
- "3/11/2018",
- "2/11/2018",
- "1/11/2018",
- "31/10/2018",
- "30/10/2018",
- "29/10/2018",
- "28/10/2018",
- "27/10/2018",
- "26/10/2018",
- "25/10/2018",
- "24/10/2018",
- "23/10/2018",
- "22/10/2018",
- "21/10/2018",
- "20/10/2018",
- "19/10/2018",
- "18/10/2018",
- "17/10/2018",
- "16/10/2018",
- "15/10/2018",
- "14/10/2018",
- "13/10/2018",
- "12/10/2018",
- "11/10/2018",
- "10/10/2018",
- "9/10/2018",
- "8/10/2018",
- "7/10/2018",
- "6/10/2018",
- "5/10/2018",
- "4/10/2018",
- "3/10/2018",
- "2/10/2018",
- "1/10/2018",
- "30/09/2018",
- "29/09/2018",
- "28/09/2018",
- "27/09/2018",
- "26/09/2018",
- "25/09/2018",
- "24/09/2018",
- "23/09/2018",
- "22/09/2018",
- "21/09/2018",
- "20/09/2018",
- "19/09/2018",
- "18/09/2018",
- "17/09/2018",
- "16/09/2018",
- "15/09/2018",
- "14/09/2018",
- "13/09/2018",
- "12/9/2018",
- "11/9/2018",
- "10/9/2018",
- "9/9/2018",
- "8/9/2018",
- "7/9/2018",
- "6/9/2018",
- "5/9/2018",
- "4/9/2018",
- "3/9/2018",
- "2/9/2018",
- "1/9/2018",
- "31/08/2018",
- "30/08/2018",
- "29/08/2018",
- "28/08/2018",
- "27/08/2018",
- "26/08/2018",
- "25/08/2018",
- "24/08/2018",
- "23/08/2018",
- "22/08/2018",
- "21/08/2018",
- "20/08/2018",
- "19/08/2018",
- "18/08/2018",
- "17/08/2018",
- "16/08/2018",
- "15/08/2018",
- "14/08/2018",
- "13/08/2018",
- "12/8/2018",
- "11/8/2018",
- "10/8/2018",
- "9/8/2018",
- "8/8/2018",
- "7/8/2018",
- "6/8/2018",
- "5/8/2018",
- "4/8/2018",
- "3/8/2018",
- "2/8/2018",
- "1/8/2018",
- "31/07/2018",
- "30/07/2018",
- "29/07/2018",
- "28/07/2018",
- "27/07/2018",
- "26/07/2018",
- "25/07/2018",
- "24/07/2018",
- "23/07/2018",
- "22/07/2018",
- "21/07/2018",
- "20/07/2018",
- "19/07/2018",
- "18/07/2018",
- "17/07/2018",
- "16/07/2018",
- "15/07/2018",
- "14/07/2018",
- "13/07/2018",
- "12/7/2018",
- "11/7/2018",
- "10/7/2018",
- "9/7/2018",
- "8/7/2018",
- "7/7/2018",
- "6/7/2018",
- "5/7/2018",
- "4/7/2018",
- "3/7/2018",
- "2/7/2018",
- "1/7/2018",
- "30/06/2018",
- "29/06/2018",
- "28/06/2018",
- "27/06/2018",
- "26/06/2018",
- "25/06/2018",
- "24/06/2018",
- "23/06/2018",
- "22/06/2018",
- "21/06/2018",
- "20/06/2018",
- "19/06/2018",
- "18/06/2018",
- "17/06/2018",
- "16/06/2018",
- "15/06/2018",
- "14/06/2018",
- "13/06/2018",
- "12/6/2018",
- "11/6/2018",
- "10/6/2018",
- "9/6/2018",
- "8/6/2018",
- "7/6/2018",
- "6/6/2018",
- "5/6/2018",
- "4/6/2018",
- "3/6/2018",
- "2/6/2018",
- "1/6/2018",
- "31/05/2018",
- "30/05/2018",
- "29/05/2018",
- "28/05/2018",
- "27/05/2018",
- "26/05/2018",
- "25/05/2018",
- "24/05/2018",
- "23/05/2018",
- "22/05/2018",
- "21/05/2018",
- "20/05/2018",
- "19/05/2018",
- "18/05/2018",
- "17/05/2018",
- "16/05/2018",
- "15/05/2018",
- "14/05/2018",
- "13/05/2018",
- "12/5/2018",
- "11/5/2018",
- "10/5/2018",
- "9/5/2018",
- "8/5/2018",
- "7/5/2018",
- "6/5/2018",
- "5/5/2018",
- "4/5/2018",
- "3/5/2018",
- "2/5/2018",
- "1/5/2018",
- "30/04/2018",
- "29/04/2018",
- "28/04/2018",
- "27/04/2018",
- "26/04/2018",
- "25/04/2018",
- "24/04/2018",
- "23/04/2018",
- "22/04/2018",
- "21/04/2018",
- "20/04/2018",
- "19/04/2018",
- "18/04/2018",
- "17/04/2018",
- "13/04/2018",
- "12/4/2018",
- "11/4/2018",
- "10/4/2018",
- "9/4/2018",
- "8/4/2018",
- "7/4/2018",
- "6/4/2018",
- "5/4/2018",
- "4/4/2018",
- "3/4/2018",
- "2/4/2018",
- "1/4/2018",
- "31/03/2018",
- "30/03/2018",
- "29/03/2018",
- "28/03/2018",
- "27/03/2018",
- "26/03/2018",
- "25/03/2018",
- "24/03/2018",
- "23/03/2018",
- "22/03/2018",
- "21/03/2018",
- "20/03/2018",
- "19/03/2018",
- "18/03/2018",
- "17/03/2018",
- "16/03/2018",
- "15/03/2018",
- "14/03/2018",
- "13/03/2018",
- "12/3/2018",
- "11/3/2018",
- "10/3/2018",
- "9/3/2018",
- "8/3/2018",
- "7/3/2018",
- "6/3/2018",
- "5/3/2018",
- "4/3/2018",
- "3/3/2018",
- "2/3/2018",
- "1/3/2018",
- "28/02/2018",
- "27/02/2018",
- "26/02/2018",
- "25/02/2018",
- "24/02/2018",
- "23/02/2018",
- "22/02/2018",
- "21/02/2018",
- "20/02/2018",
- "19/02/2018",
- "18/02/2018",
- "17/02/2018",
- "16/02/2018",
- "15/02/2018",
- "14/02/2018",
- "13/02/2018",
- "12/2/2018",
- "11/2/2018",
- "10/2/2018",
- "9/2/2018",
- "8/2/2018",
- "7/2/2018",
- "6/2/2018",
- "5/2/2018",
- "4/2/2018",
- "3/2/2018",
- "2/2/2018",
- "1/2/2018",
- ];
- var index = [
- 56,
- 49,
- 45,
- 50,
- 41,
- 44,
- 51,
- 40,
- 41,
- 39,
- 38,
- 38,
- 39,
- 37,
- 38,
- 40,
- 37,
- 37,
- 38,
- 39,
- 22,
- 25,
- 33,
- 20,
- 23,
- 23,
- 21,
- 15,
- 23,
- 24,
- 21,
- 27,
- 22,
- 23,
- 20,
- 26,
- 32,
- 28,
- 32,
- 29,
- 21,
- 24,
- 28,
- 28,
- 25,
- 38,
- 31,
- 32,
- 20,
- 21,
- 17,
- 21,
- 23,
- 20,
- 30,
- 32,
- 32,
- 38,
- 38,
- 41,
- 38,
- 41,
- 38,
- 39,
- 40,
- 39,
- 38,
- 42,
- 54,
- 53,
- 54,
- 49,
- 56,
- 51,
- 49,
- 50,
- 53,
- 54,
- 52,
- 50,
- 53,
- 24,
- 20,
- 33,
- 39,
- 37,
- 37,
- 41,
- 40,
- 40,
- 40,
- 39,
- 37,
- 38,
- 38,
- 39,
- 41,
- 37,
- 39,
- 27,
- 32,
- 31,
- 30,
- 37,
- 39,
- 38,
- 27,
- 33,
- 32,
- 24,
- 12,
- 15,
- 39,
- 41,
- 37,
- 37,
- 41,
- 31,
- 38,
- 41,
- 38,
- 38,
- 39,
- 38,
- 39,
- 38,
- 41,
- 41,
- 43,
- 39,
- 43,
- 41,
- 43,
- 41,
- 28,
- 24,
- 20,
- 24,
- 20,
- 32,
- 30,
- 41,
- 33,
- 39,
- 33,
- 5,
- 11,
- 39,
- 30,
- 14,
- 20,
- 31,
- 13,
- 11,
- 45,
- 48,
- 45,
- 59,
- 60,
- 61,
- 45,
- 66,
- 64,
- 62,
- 61,
- 61,
- 57,
- 31,
- 22,
- 19,
- 16,
- 47,
- 24,
- 42,
- 20,
- 40,
- 42,
- 42,
- 34,
- 42,
- 40,
- 19,
- 34,
- 16,
- 61,
- 65,
- 33,
- 62,
- 83,
- 84,
- 74,
- 67,
- 72,
- 67,
- 76,
- 79,
- 63,
- 65,
- 78,
- 74,
- 62,
- 92,
- 95,
- 87,
- 80,
- 84,
- 83,
- 84,
- 81,
- 82,
- 83,
- 84,
- 80,
- 75,
- 67,
- 63,
- 60,
- 61,
- 46,
- 62,
- 62,
- 27,
- 34,
- 27,
- 42,
- 66,
- 63,
- 62,
- 61,
- 73,
- 71,
- 71,
- 70,
- 67,
- 69,
- 64,
- 65,
- 69,
- 68,
- 73,
- 70,
- 67,
- 65,
- 75,
- 77,
- 78,
- 78,
- 75,
- 76,
- 71,
- 69,
- 63,
- 69,
- 57,
- 67,
- 66,
- 63,
- 50,
- 51,
- 42,
- 42,
- 40,
- 42,
- 41,
- 58,
- 65,
- 68,
- 61,
- 62,
- 62,
- 61,
- 64,
- 61,
- 50,
- 60,
- 51,
- 62,
- 42,
- 65,
- 62,
- 64,
- 65,
- 69,
- 65,
- 59,
- 61,
- 71,
- 60,
- 62,
- 56,
- 57,
- 50,
- 49,
- 44,
- 43,
- 46,
- 44,
- 50,
- 56,
- 62,
- 55,
- 56,
- 56,
- 58,
- 54,
- 55,
- 55,
- 54,
- 56,
- 56,
- 55,
- 55,
- 54,
- 56,
- 42,
- 35,
- 36,
- 44,
- 41,
- 42,
- 39,
- 39,
- 40,
- 47,
- 69,
- 63,
- 61,
- 59,
- 59,
- 65,
- 63,
- 38,
- 43,
- 43,
- 48,
- 48,
- 38,
- 46,
- 40,
- 42,
- 37,
- 18,
- 14,
- 21,
- 27,
- 19,
- 22,
- 23,
- 17,
- 22,
- 21,
- 35,
- 39,
- 41,
- 35,
- 37,
- 33,
- 27,
- 30,
- 35,
- 31,
- 29,
- 28,
- 24,
- 27,
- 16,
- 21,
- 22,
- 19,
- 37,
- 42,
- 39,
- 39,
- 31,
- 36,
- 48,
- 33,
- 30,
- 24,
- 26,
- 23,
- 24,
- 21,
- 29,
- 26,
- 33,
- 25,
- 31,
- 28,
- 35,
- 27,
- 21,
- 23,
- 17,
- 13,
- 11,
- 10,
- 14,
- 14,
- 15,
- 19,
- 14,
- 11,
- 11,
- 13,
- 19,
- 12,
- 17,
- 15,
- 13,
- 19,
- 18,
- 14,
- 11,
- 17,
- 9,
- 15,
- 12,
- 14,
- 15,
- 21,
- 28,
- 26,
- 24,
- 23,
- 28,
- 49,
- 56,
- 52,
- 54,
- 52,
- 47,
- 51,
- 48,
- 42,
- 42,
- 41,
- 36,
- 36,
- 29,
- 32,
- 31,
- 34,
- 35,
- 33,
- 29,
- 25,
- 23,
- 24,
- 27,
- 21,
- 21,
- 24,
- 26,
- 23,
- 24,
- 20,
- 18,
- 15,
- 13,
- 19,
- 28,
- 31,
- 26,
- 29,
- 34,
- 37,
- 29,
- 36,
- 33,
- 35,
- 34,
- 37,
- 42,
- 42,
- 37,
- 37,
- 43,
- 38,
- 35,
- 31,
- 24,
- 24,
- 21,
- 25,
- 28,
- 24,
- 23,
- 20,
- 14,
- 18,
- 15,
- 13,
- 18,
- 17,
- 14,
- 17,
- 26,
- 19,
- 18,
- 21,
- 17,
- 22,
- 19,
- 19,
- 18,
- 19,
- 22,
- 19,
- 18,
- 21,
- 19,
- 26,
- 27,
- 24,
- 19,
- 21,
- 18,
- 16,
- 21,
- 18,
- 18,
- 21,
- 19,
- 23,
- 25,
- 25,
- 23,
- 31,
- 36,
- 39,
- 39,
- 48,
- 53,
- 54,
- 54,
- 47,
- 53,
- 54,
- 49,
- 44,
- 46,
- 43,
- 47,
- 44,
- 42,
- 39,
- 36,
- 32,
- 29,
- 29,
- 33,
- 29,
- 37,
- 39,
- 38,
- 34,
- 34,
- 37,
- 33,
- 31,
- 27,
- 27,
- 22,
- 16,
- 20,
- 18,
- 21,
- 16,
- 15,
- 17,
- 28,
- 37,
- 34,
- 32,
- 27,
- 23,
- 22,
- 26,
- 17,
- 19,
- 19,
- 15,
- 24,
- 39,
- 40,
- 38,
- 42,
- 26,
- 41,
- 40,
- 27,
- 24,
- 25,
- 38,
- 16,
- 22,
- 19,
- 23,
- 25,
- 27,
- 26,
- 30,
- 41,
- 32,
- 31,
- 37,
- 31,
- 32,
- 40,
- 40,
- 40,
- 44,
- 41,
- 63,
- 53,
- 62,
- 56,
- 67,
- 63,
- 56,
- 55,
- 52,
- 56,
- 59,
- 61,
- 54,
- 55,
- 47,
- 64,
- 29,
- 28,
- 31,
- 32,
- 26,
- 25,
- 24,
- 26,
- 23,
- 18,
- 20,
- 18,
- 21,
- 17,
- 20,
- 19,
- 17,
- 22,
- 22,
- 11,
- 16,
- 16,
- 12,
- 18,
- 24,
- 24,
- 31,
- 30,
- 32,
- 28,
- 36,
- 36,
- 37,
- 29,
- 29,
- 31,
- 33,
- 32,
- 40,
- 41,
- 41,
- 40,
- 39,
- 37,
- 39,
- 37,
- 59,
- 55,
- 44,
- 56,
- 47,
- 38,
- 41,
- 44,
- 37,
- 33,
- 31,
- 39,
- 44,
- 54,
- 74,
- 67,
- 63,
- 74,
- 67,
- 71,
- 55,
- 35,
- 42,
- 31,
- 54,
- 44,
- 30,
- 36,
- 8,
- 11,
- 24,
- 40,
- 15,
- 30,
- ];
- var price = [
- 149.46,
- 143.51,
- 146.6,
- 142.63,
- 144.72,
- 137.71,
- 140.6,
- 143.08,
- 144.19,
- 135.31,
- 134.14,
- 134.17,
- 126.81,
- 130.19,
- 128.54,
- 131.1,
- 134.3,
- 127.91,
- 126.23,
- 125.49,
- 124.96,
- 127.71,
- 127.78,
- 132.4,
- 127.09,
- 128.37,
- 128.18,
- 132.89,
- 121.83,
- 132.36,
- 142.38,
- 141.73,
- 144.7,
- 144.69,
- 143.29,
- 145.54,
- 147.3,
- 150.68,
- 147.43,
- 148.82,
- 148.18,
- 145.5,
- 147.33,
- 148.97,
- 150.97,
- 151.78,
- 154.75,
- 151.01,
- 153,
- 147.83,
- 145.91,
- 139.99,
- 152,
- 149.97,
- 160.82,
- 174.35,
- 175.73,
- 177.85,
- 183.88,
- 182.25,
- 179.82,
- 184.55,
- 187.72,
- 186.98,
- 184.65,
- 188.88,
- 184.77,
- 183.62,
- 186.42,
- 191.13,
- 188.88,
- 186.25,
- 181.73,
- 183.25,
- 183.19,
- 182.38,
- 183.38,
- 191.1,
- 182.02,
- 184.41,
- 180.03,
- 181.66,
- 160.67,
- 162.49,
- 171.3,
- 174.37,
- 175.49,
- 172.09,
- 172.96,
- 177.31,
- 174.5,
- 180.58,
- 186.85,
- 181.18,
- 179.86,
- 180.84,
- 191.79,
- 193.26,
- 180.72,
- 180.26,
- 170.18,
- 176.73,
- 175.97,
- 175.05,
- 180.82,
- 176.15,
- 181.17,
- 169.38,
- 173.9,
- 174.44,
- 165.85,
- 170,
- 166.26,
- 200.8,
- 211.1,
- 214.8,
- 218.06,
- 220.8,
- 210.27,
- 207.95,
- 197.59,
- 189.3,
- 188.85,
- 181.65,
- 181.09,
- 178.3,
- 179.64,
- 180.63,
- 181.56,
- 178.08,
- 169.2,
- 174,
- 174.82,
- 178.96,
- 178.8,
- 171.29,
- 171.93,
- 168.4,
- 168.82,
- 172.79,
- 186.94,
- 188.3,
- 186.59,
- 190.89,
- 194.59,
- 190.41,
- 187.37,
- 196.56,
- 202.32,
- 194.74,
- 185.59,
- 185.26,
- 188.2,
- 186.3,
- 208.58,
- 211.26,
- 216.06,
- 206.1,
- 210.3,
- 220.81,
- 225.8,
- 225.81,
- 233,
- 222.81,
- 222.14,
- 217.8,
- 217.55,
- 218.7,
- 209.83,
- 210.73,
- 211.5,
- 207.11,
- 219.35,
- 219.28,
- 216.59,
- 211.93,
- 217.13,
- 225.64,
- 228.89,
- 221.21,
- 226.31,
- 211.4,
- 198.89,
- 228.28,
- 225.76,
- 269.04,
- 275.55,
- 268.68,
- 288.64,
- 307.92,
- 313.24,
- 306.34,
- 287.57,
- 288,
- 282.8,
- 301.79,
- 291.25,
- 293.7,
- 290.07,
- 317,
- 309.37,
- 293.47,
- 334.86,
- 316.59,
- 311,
- 306.98,
- 308.49,
- 296.25,
- 272,
- 268.79,
- 264.37,
- 273.97,
- 268.33,
- 269.29,
- 263.8,
- 255.4,
- 262.92,
- 245.11,
- 247.84,
- 231.3,
- 244.3,
- 249.49,
- 249.4,
- 246.32,
- 240.93,
- 249.55,
- 269.23,
- 264.78,
- 267.74,
- 254.62,
- 269.39,
- 271.15,
- 271.24,
- 268.37,
- 251.55,
- 249.83,
- 245.64,
- 243.32,
- 254.74,
- 252.22,
- 261.09,
- 234.03,
- 244.59,
- 264.39,
- 249,
- 217.44,
- 196.51,
- 188.23,
- 192.52,
- 172.21,
- 170.11,
- 169.58,
- 177.23,
- 171.07,
- 161.25,
- 161.85,
- 164.74,
- 158.7,
- 158.3,
- 160.4,
- 152.36,
- 153.19,
- 155.66,
- 153.41,
- 152.05,
- 165.75,
- 170.14,
- 171.6,
- 169.9,
- 173.73,
- 173.83,
- 174.15,
- 166.54,
- 166.38,
- 160.24,
- 168.27,
- 163.75,
- 164.27,
- 164.92,
- 177.55,
- 175.83,
- 180.74,
- 174.84,
- 165.79,
- 166.08,
- 157.65,
- 161.33,
- 164.69,
- 141,
- 137.59,
- 137.01,
- 138.07,
- 140.48,
- 135.99,
- 131.4,
- 131.16,
- 132.8,
- 132.05,
- 134.66,
- 136.41,
- 132.75,
- 136.29,
- 137,
- 136.3,
- 125.24,
- 129.78,
- 132.32,
- 134.72,
- 134.48,
- 134.46,
- 135.76,
- 137.64,
- 131.76,
- 157.56,
- 146.68,
- 144.21,
- 147.19,
- 142.69,
- 144.56,
- 132.34,
- 121.56,
- 120.42,
- 119.39,
- 120.74,
- 120.82,
- 119.55,
- 123.94,
- 118.06,
- 117.98,
- 103.21,
- 103.36,
- 106.08,
- 105.94,
- 109.3,
- 105.88,
- 105.79,
- 107.61,
- 104.02,
- 105.47,
- 111.35,
- 115.01,
- 114.95,
- 116.4,
- 116.55,
- 118.1,
- 115.86,
- 117.43,
- 123.17,
- 119.53,
- 122.12,
- 120.06,
- 128.37,
- 115.55,
- 124.59,
- 125.83,
- 126.41,
- 149.5,
- 148.97,
- 150.62,
- 155.92,
- 154.21,
- 153.24,
- 147.23,
- 153.5,
- 139.75,
- 130.53,
- 138.78,
- 134.15,
- 136.82,
- 114.63,
- 130.47,
- 128.82,
- 139.03,
- 129.61,
- 116.09,
- 107.74,
- 114.6,
- 99.34,
- 101,
- 93.79,
- 83.74,
- 83.03,
- 83,
- 85.35,
- 89.09,
- 87.23,
- 89.23,
- 92.79,
- 89.99,
- 92.45,
- 89.25,
- 100.71,
- 108.61,
- 107.21,
- 114.76,
- 116.82,
- 111.88,
- 116.38,
- 121.95,
- 108.58,
- 106.95,
- 114.3,
- 110.08,
- 121.44,
- 123.2,
- 134.73,
- 127.55,
- 145.21,
- 175.87,
- 172.48,
- 172.4,
- 178.89,
- 177.79,
- 203.2,
- 208.77,
- 209.88,
- 210.29,
- 208.01,
- 210.34,
- 216.84,
- 218.51,
- 208.53,
- 210.06,
- 198.35,
- 199.75,
- 197.96,
- 196.95,
- 195.35,
- 194.29,
- 202.43,
- 201.46,
- 200.7,
- 199.65,
- 200.68,
- 201.12,
- 201.25,
- 202.12,
- 202.69,
- 200,
- 199.09,
- 203.21,
- 203.55,
- 204.12,
- 191.87,
- 196.72,
- 194.1,
- 188.32,
- 223.61,
- 226.15,
- 227.68,
- 224.82,
- 223.85,
- 226.89,
- 221,
- 219.01,
- 224.85,
- 230.4,
- 232.27,
- 231.01,
- 220.67,
- 229,
- 214.15,
- 219.19,
- 228.01,
- 244.35,
- 240.71,
- 247.76,
- 224.41,
- 209.81,
- 208.5,
- 195.97,
- 220.19,
- 221.69,
- 210,
- 211.39,
- 182.79,
- 185.15,
- 196.94,
- 195.91,
- 197,
- 215.21,
- 229.66,
- 227.56,
- 285.43,
- 288.6,
- 295.06,
- 294.64,
- 281.94,
- 284.52,
- 289,
- 295.39,
- 287.99,
- 274.25,
- 277.97,
- 281.35,
- 275.87,
- 270.47,
- 281.49,
- 270.76,
- 300.03,
- 296.61,
- 317.54,
- 286.67,
- 281.21,
- 278.37,
- 284.11,
- 312.65,
- 312.65,
- 330.99,
- 363.99,
- 355.7,
- 378.08,
- 404.99,
- 408.83,
- 407,
- 417.8,
- 410.71,
- 419.6,
- 432.16,
- 456.47,
- 466.01,
- 468.12,
- 469.3,
- 461.42,
- 470.81,
- 478.78,
- 449,
- 456.9,
- 461.5,
- 448.21,
- 468.39,
- 478.81,
- 499.01,
- 478.18,
- 449.41,
- 434.13,
- 432.8,
- 431.46,
- 446.25,
- 432.59,
- 471.6,
- 486.08,
- 484.48,
- 469.3,
- 467.25,
- 466.9,
- 461.75,
- 476.34,
- 451.43,
- 453.29,
- 434.6,
- 420,
- 441.41,
- 429.08,
- 458.41,
- 454.79,
- 475.17,
- 462.01,
- 525.49,
- 536,
- 538.5,
- 517.47,
- 496.5,
- 497.31,
- 487.45,
- 519.75,
- 476.02,
- 494.14,
- 531.68,
- 525.25,
- 593.41,
- 598.59,
- 603.56,
- 606.18,
- 607.6,
- 591.5,
- 618.63,
- 590.46,
- 578.89,
- 577.1,
- 557.22,
- 566.66,
- 511.33,
- 570.75,
- 584.99,
- 584.02,
- 603,
- 577.2,
- 640.5,
- 696.77,
- 714,
- 695.96,
- 694.5,
- 668.56,
- 707.45,
- 706.08,
- 726.9,
- 729.29,
- 684.66,
- 678.05,
- 723.51,
- 750,
- 746.99,
- 752.42,
- 784.28,
- 812,
- 783.01,
- 775.51,
- 685.02,
- 670.75,
- 669.81,
- 687.51,
- 682,
- 642.77,
- 661.13,
- 617.49,
- 703.38,
- 642.85,
- 621,
- 605.16,
- 617.17,
- 567.29,
- 525.89,
- 502.42,
- 511.28,
- 533.74,
- 502.4,
- 495.22,
- 493.41,
- 430.81,
- 415.45,
- 398.8,
- 399.9,
- 384.61,
- 370.32,
- 381.55,
- 378.43,
- 416.38,
- 384,
- 378.18,
- 394.54,
- 394.46,
- 383.29,
- 445.47,
- 449,
- 486.75,
- 522.55,
- 519.57,
- 543.04,
- 539.89,
- 559.98,
- 558,
- 555.55,
- 538,
- 549.79,
- 600.52,
- 610.99,
- 614.63,
- 690.39,
- 696.51,
- 719.79,
- 683.6,
- 728.46,
- 698.83,
- 751.38,
- 815.43,
- 848.83,
- 861.74,
- 854.34,
- 854.31,
- 868.74,
- 849.99,
- 870.98,
- 867.09,
- 841.96,
- 833.2,
- 854.01,
- 806,
- 840.34,
- 884.76,
- 939.01,
- 912.41,
- 975,
- 936.02,
- 929.3,
- 920.27,
- 840.49,
- 864.4,
- 811.35,
- 849.47,
- 875.99,
- 812,
- 750.04,
- 783.83,
- 693.54,
- 826,
- 969.4,
- 911.99,
- 1017.48,
- 859.29,
- 882.47,
- 818.48,
- 755.84,
- 790.43,
- 707.74,
- 834.96,
- 964.67,
- 919.21,
- 1035.77,
- 1119.37,
- ];
- //710 total data points
- /****************************** End of input data area *****************************************/
- /****************************** Helper functions*****************************************/
- //var DEBUG_MODE = true;
- var DEBUG_MODE = false;
- //start date, index that day, price , ETH amount starting with
- var start = [dates[dates.length-1], index[index.length-1], price[price.length-1], 1];
- nonDebugPrint("Start position: " + start);
- var holding = [start[3],start[2]];
- function nonDebugPrint(text){
- if (DEBUG_MODE)
- {
- console.log(text);
- }
- }
- function get(num) { //lazyprint
- nonDebugPrint(dates[num] + " "+ " " + index[num] + " " + price[num]);
- }
- function rebalanceUpdate() {
- nonDebugPrint("Rebalance complete");
- nonDebugPrint("New position is: " + holding[0] +" ETH, "+holding[1] + " $");
- }
- /****************************** Strategy candidate template *****************************************/
- var rebalanceCount = 0;
- function strategy(i) {
- if (index[i] < LOWER_BOUND){
- nonDebugPrint(index[i]);
- rebalanceCount++;
- return "buyeth";
- }
- else if (index[i] > UPPER_BOUND){
- nonDebugPrint(index[i]);
- rebalanceCount++;
- return "selleth";
- }
- return "do nothing";
- }
- /****************************** Test execution *****************************************/
- function executeStrategy(strategy){ // sell half on rebalance
- var i = dates.length-2;
- for (; i >= 0 ; i--)
- {
- var strat = strategy(i);
- if (strat == "selleth"){
- //rebalance
- nonDebugPrint("Selling ETH -> buying $ on " + dates[i]);
- get(i);
- holding[0] /= 2;
- holding[1] += holding[0] * price[i+1];
- rebalanceUpdate();
- } else if (strat == "buyeth"){
- //rebalance
- nonDebugPrint("Selling $ -> buying ETH on " + dates[i]);
- get(i);
- holding[1] /= 2;
- holding[0] += holding[1] / price[i+1];
- rebalanceUpdate();
- }
- }
- }
- var up_bound = 70
- var UPPER_BOUND = up_bound
- var LOWER_BOUND = 10;
- var finalHoldingETH = 0;
- var maxHolding = 0;
- var maxParams = [0,0];
- function runTest(){
- for (var i = 0; i<50 ;i++)
- {
- for (var j = 0; j<50 ;j++)
- {
- rebalanceCount = 0;
- executeStrategy(strategy);
- results (LOWER_BOUND,UPPER_BOUND);
- UPPER_BOUND--;
- }
- UPPER_BOUND = up_bound; //reset upper bound
- LOWER_BOUND++;
- }
- console.log("Starting balance: balance is " +start[3] + " ETH. $ balance is: " +start[2]+"$");
- console.log("BEST ETH holding is: " +maxHolding);
- console.log("BEST VALUES are: Lower bound: " + maxParams[0]+ " Upper bound is: " + maxParams[1]);
- }
- /****************************** Results *****************************************/
- function results (low, up){
- finalHoldingETH = holding[0] + holding[1]/price[0];
- if (finalHoldingETH >maxHolding ){
- maxHolding = finalHoldingETH;
- maxParams[0] = low;
- maxParams[1] = up;
- console.log("FINAL BALANCE is: " + holding[0].toFixed(4) +" ETH, "+holding[1].toFixed(4) + " $. Rebalance count is "+rebalanceCount + " Upper bound is: "+ up + " Lower bound is: "+low);
- nonDebugPrint("ETH change: " + (holding[0] - start[3]) +" ETH. $ change: " + (holding[1] - start[2]) +" $");
- }
- nonDebugPrint("Final ETH holding: " +finalHoldingETH );
- nonDebugPrint("***********************************************************************");
- //Reset initial position
- holding = [start[3],start[2]];
- }
- runTest();
- /*
- //single test
- DEBUG_MODE = true;
- UPPER_BOUND = 70;
- LOWER_BOUND = 10;
- executeStrategy(strategy);
- results (UPPER_BOUND, LOWER_BOUND);
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement