From a329d2c0a63130dc389be04a9f954672bb7fcc07 Mon Sep 17 00:00:00 2001 From: Jseam Date: Fri, 15 Sep 2023 21:24:27 +0800 Subject: [PATCH] feat: time series forecasting example with nbeat (#481) --------- Co-authored-by: Alexander Camuto --- .github/workflows/rust.yml | 3 + .gitignore | 1 + examples/notebooks/eth_price.csv | 2002 +++++++++++++++++ .../nbeats_timeseries_forecasting.ipynb | 976 ++++++++ tests/py_integration_tests.rs | 15 +- 5 files changed, 2995 insertions(+), 2 deletions(-) create mode 100644 examples/notebooks/eth_price.csv create mode 100644 examples/notebooks/nbeats_timeseries_forecasting.ipynb diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index f19e0e644..703589d77 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -488,6 +488,8 @@ jobs: # # now dump the contents of the file into a file called kaggle.json # echo $KAGGLE_API_KEY > /home/ubuntu/.kaggle/kaggle.json # chmod 600 /home/ubuntu/.kaggle/kaggle.json + - name: NBEATS tutorial + run: source .env/bin/activate; cargo nextest run py_tests::tests::nbeats_ - name: SVM run: source .env/bin/activate; cargo nextest run py_tests::tests::run_notebook_::tests_18_expects - name: LightGBM @@ -528,3 +530,4 @@ jobs: run: source .env/bin/activate; cargo nextest run py_tests::tests::run_notebook_::tests_6_expects - name: Gan tutorial run: source .env/bin/activate; cargo nextest run py_tests::tests::run_notebook_::tests_0_expects + diff --git a/.gitignore b/.gitignore index d6799c1fa..1bb80ad69 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ target pkg data *.csv +!examples/notebooks/eth_price.csv *.ipynb_checkpoints *.sol !QuantizeData.sol diff --git a/examples/notebooks/eth_price.csv b/examples/notebooks/eth_price.csv new file mode 100644 index 000000000..79171945b --- /dev/null +++ b/examples/notebooks/eth_price.csv @@ -0,0 +1,2002 @@ +time,high,low,open,volumefrom,volumeto,close,conversionType,conversionSymbol +2018-03-23,543.84,506.79,539.89,432407.55,225200086.3,543.83,direct, +2018-03-24,546.01,519.51,543.84,241529.67,129350391.02,520.16,direct, +2018-03-25,535.77,513.63,520.17,213514.32,111462284.91,523.01,direct, +2018-03-26,526.2,467.48,522.97,567723.19,278656813.48,486.25,direct, +2018-03-27,491.92,446.42,486.14,712309.54,328179170.99,448.78,direct, +2018-03-28,465.2,440.35,448.78,415739.15,187271233.18,445.93,direct, +2018-03-29,448.5,380.35,445.93,1162700.51,472575968.96,383.9,direct, +2018-03-30,411.17,364.99,383.96,1174101.99,450253373.58,393.82,direct, +2018-03-31,421.05,389.99,393.83,602304.03,243062846.9,394.07,direct, +2018-04-01,399.59,359.22,394.07,626777.44,236013242.51,378.85,direct, +2018-04-02,394.12,375.8,378.85,406593.03,156793473.63,384.68,direct, +2018-04-03,426.84,380.71,384.68,556809.37,223508235.85,415.93,direct, +2018-04-04,417.11,370.66,415.93,575977.98,223170178.92,378.65,direct, +2018-04-05,387.56,367.15,378.65,424333.64,160332018.27,381.36,direct, +2018-04-06,385.78,363.51,381.43,360272.94,133748822.09,370.35,direct, +2018-04-07,397.1,369.66,370.35,281003.74,108165642.16,384.98,direct, +2018-04-08,404.22,384.98,384.98,272088.6,107956653.97,400.72,direct, +2018-04-09,431.23,387.98,400.72,669097.01,271803047.82,399.02,direct, +2018-04-10,418.27,391.84,399.02,320480.46,129335600.11,415.65,direct, +2018-04-11,433.44,410.97,415.65,398311.12,167561896.24,430.42,direct, +2018-04-12,498.08,414.03,430.39,985900.0,450834363.9,493.95,direct, +2018-04-13,528.95,482.1,493.95,930496.63,470945268.74,494.96,direct, +2018-04-14,514.66,487.72,494.96,381076.96,191073028.98,502.79,direct, +2018-04-15,534.31,502.79,502.79,469221.99,243926045.87,534.15,direct, +2018-04-16,537.48,499.17,534.16,487480.43,249996040.92,511.67,direct, +2018-04-17,522.07,500.48,511.67,382492.24,195195626.75,503.03,direct, +2018-04-18,526.61,501.7,503.03,347025.84,178681435.05,525.78,direct, +2018-04-19,570.18,521.83,525.78,490680.13,267530654.45,567.25,direct, +2018-04-20,622.14,557.98,567.25,699889.46,410498449.5,617.16,direct, +2018-04-21,625.15,576.09,617.17,488613.74,294264369.95,605.17,direct, +2018-04-22,644.29,591.81,605.17,433216.48,270504773.22,621.33,direct, +2018-04-23,648.41,619.57,621.33,373097.03,238556831.22,644.13,direct, +2018-04-24,711.64,644.06,644.13,780339.81,538337384.08,703.35,direct, +2018-04-25,703.9,592.59,703.4,1413475.83,903686072.96,617.73,direct, +2018-04-26,665.97,600.35,617.62,616943.15,387845424.34,661.45,direct, +2018-04-27,686.05,640.74,661.41,486769.09,323944620.57,643.33,direct, +2018-04-28,693.47,640.09,643.12,351860.75,238423753.67,683.02,direct, +2018-04-29,698.95,665.28,683.02,317205.24,216606354.66,689.31,direct, +2018-04-30,693.63,663.28,689.31,364715.76,248315675.69,670.04,direct, +2018-05-01,674.62,628.29,670.04,544527.28,355270695.23,670.81,direct, +2018-05-02,690.86,662.13,670.81,376872.81,255558720.87,686.74,direct, +2018-05-03,787.57,685.92,686.74,798057.17,588164727.16,777.62,direct, +2018-05-04,804.63,759.67,777.78,546215.76,427563922.79,784.21,direct, +2018-05-05,827.44,780.08,784.19,389912.01,315600160.75,816.58,direct, +2018-05-06,834.3,753.51,816.59,474447.3,374541870.07,790.39,direct, +2018-05-07,794.86,690.91,790.39,1131598.73,828032480.2,752.4,direct, +2018-05-08,775.38,720.36,752.39,510303.7,380893335.71,747.79,direct, +2018-05-09,759.91,709.78,747.79,464189.13,341691727.41,751.27,direct, +2018-05-10,767.22,722.65,751.27,383612.95,287536989.76,723.61,direct, +2018-05-11,735.97,665.49,723.63,748412.09,518848404.01,677.8,direct, +2018-05-12,690.88,638.47,677.8,487345.93,324590855.24,683.64,direct, +2018-05-13,740.02,669.96,683.64,385804.48,274037817.61,729.34,direct, +2018-05-14,741.82,685.75,729.34,632807.6,453297981.45,727.41,direct, +2018-05-15,738.53,695.3,727.41,398394.01,287313625.77,705.64,direct, +2018-05-16,710.26,676.6,705.64,362472.35,251185347.62,706.72,direct, +2018-05-17,718.31,661.81,706.71,352700.81,244822300.73,668.38,direct, +2018-05-18,694.35,657.7,668.41,352343.1,238310952.16,693.57,direct, +2018-05-19,716.86,683.0,693.57,231151.7,161222563.27,696.05,direct, +2018-05-20,722.71,687.86,696.05,232101.64,165135550.67,715.15,direct, +2018-05-21,710.37,694.96,716.45,421289.2,294835584.77,699.84,multiply,BTC +2018-05-22,698.46,638.35,696.73,427356.07,287275714.36,640.84,direct, +2018-05-23,649.59,564.32,641.12,910256.61,549177930.28,577.01,direct, +2018-05-24,609.0,544.19,577.01,734681.33,426679791.16,602.59,direct, +2018-05-25,615.92,568.65,602.66,474341.89,281427114.77,584.77,direct, +2018-05-26,607.81,578.43,584.77,247238.21,146794781.23,585.76,direct, +2018-05-27,590.88,555.2,585.76,390537.58,223422108.46,569.64,direct, +2018-05-28,574.52,500.81,569.64,729475.2,387811928.1,512.03,direct, +2018-05-29,572.47,510.91,512.03,640564.29,348565933.16,566.59,direct, +2018-05-30,585.23,542.08,566.7,454107.08,254739325.61,557.12,direct, +2018-05-31,585.92,553.42,557.12,412555.59,236501539.67,577.23,direct, +2018-06-01,589.26,564.46,577.23,351962.04,202265552.5,579.01,direct, +2018-06-02,599.53,574.36,579.01,291012.56,171480785.55,590.53,direct, +2018-06-03,628.06,590.3,590.53,256805.13,157840093.86,619.04,direct, +2018-06-04,625.95,580.07,619.03,336233.12,201486274.14,591.31,direct, +2018-06-05,612.99,576.47,591.31,325957.03,193989055.5,608.23,direct, +2018-06-06,611.67,593.1,608.2,263380.18,158835369.59,606.3,direct, +2018-06-07,616.0,598.6,606.3,281044.33,170556871.85,604.44,direct, +2018-06-08,604.79,596.7,605.56,427639.18,256868828.86,600.67,multiply,BTC +2018-06-09,596.51,590.65,600.67,420404.18,250081141.71,594.86,multiply,BTC +2018-06-10,593.35,501.68,593.35,636718.45,345313063.24,524.74,direct, +2018-06-11,535.79,509.82,524.73,505308.31,264673809.14,531.15,direct, +2018-06-12,539.34,484.7,531.15,546980.39,279956302.81,494.53,direct, +2018-06-13,501.67,450.05,494.53,752164.24,357167683.26,476.3,direct, +2018-06-14,526.64,460.01,476.3,885354.26,440112742.52,519.83,direct, +2018-06-15,521.18,483.02,519.83,510688.96,255304825.57,487.51,direct, +2018-06-16,503.28,483.99,487.51,241642.76,119611543.34,497.22,direct, +2018-06-17,500.48,493.57,498.14,473048.44,235070149.99,496.93,multiply,BTC +2018-06-18,524.65,487.72,496.84,340090.4,172442291.23,517.63,direct, +2018-06-19,547.94,515.02,517.63,371838.21,197307560.17,538.45,direct, +2018-06-20,541.8,517.15,538.45,334563.47,176897556.23,536.16,direct, +2018-06-21,540.34,520.04,536.44,558356.83,293559267.69,525.76,multiply,BTC +2018-06-22,525.84,450.04,525.74,756613.52,364779786.29,462.16,direct, +2018-06-23,481.06,456.24,462.16,293710.2,139553623.02,474.18,direct, +2018-06-24,476.19,421.01,474.18,707602.77,315576348.72,455.25,direct, +2018-06-25,473.27,445.53,455.25,462450.74,212246797.67,458.82,direct, +2018-06-26,461.18,429.38,458.81,457008.59,204035202.41,429.58,direct, +2018-06-27,446.12,419.84,429.89,421578.16,182343321.78,441.75,direct, +2018-06-28,443.51,417.62,441.75,346521.2,149788331.82,420.72,direct, +2018-06-29,441.87,405.01,420.7,544657.78,227564744.34,435.25,direct, +2018-06-30,462.56,435.16,435.26,374654.69,168467579.81,453.42,direct, +2018-07-01,453.56,447.66,453.56,461525.09,208187546.62,451.09,multiply,BTC +2018-07-02,481.83,444.31,451.96,420363.6,195332556.42,476.58,direct, +2018-07-03,486.76,459.78,476.58,386456.87,182372293.25,461.95,direct, +2018-07-04,481.79,451.46,461.79,349599.57,163295006.64,467.19,direct, +2018-07-05,478.44,458.37,467.19,388966.1,182403445.13,467.55,direct, +2018-07-06,475.67,451.95,467.55,299087.79,139284675.17,469.93,direct, +2018-07-07,489.33,461.85,469.93,253843.6,119595512.22,485.81,direct, +2018-07-08,495.23,482.23,485.82,272800.73,133102164.85,486.19,direct, +2018-07-09,487.91,469.0,486.19,286607.52,137591337.89,471.48,direct, +2018-07-10,473.06,427.82,471.48,561793.09,250532493.85,432.69,direct, +2018-07-11,447.09,425.13,432.69,320795.44,141230265.35,445.59,direct, +2018-07-12,439.25,430.12,445.94,706670.29,304661945.46,431.12,multiply,BTC +2018-07-13,438.52,429.42,431.13,1019502.16,441417097.33,432.97,multiply,BTC +2018-07-14,438.69,433.73,432.96,984771.65,427808808.57,434.42,multiply,BTC +2018-07-15,452.24,440.09,434.39,902330.91,406351224.28,450.34,multiply,BTC +2018-07-16,484.04,473.12,450.4,1043655.73,501160123.06,480.2,multiply,BTC +2018-07-17,523.27,498.95,480.2,1274876.82,637218460.6,499.83,multiply,BTC +2018-07-18,506.8,476.82,499.83,1461825.34,701451796.55,479.85,multiply,BTC +2018-07-19,487.08,467.94,479.77,1073070.5,503177807.26,468.91,multiply,BTC +2018-07-20,460.28,443.63,468.89,1122201.58,504014253.33,449.13,multiply,BTC +2018-07-21,468.17,451.66,449.13,759130.69,350061167.46,461.13,multiply,BTC +2018-07-22,464.49,454.79,461.13,801223.3,366940894.62,457.98,multiply,BTC +2018-07-23,477.74,447.64,457.9,828341.83,372528398.55,449.73,multiply,BTC +2018-07-24,497.45,475.79,449.73,1149234.18,549786533.58,478.39,multiply,BTC +2018-07-25,475.34,461.21,478.39,977858.27,461543419.25,471.99,multiply,BTC +2018-07-26,466.79,457.19,472.0,869764.93,402683586.82,462.98,multiply,BTC +2018-07-27,482.79,464.38,463.05,673594.52,316551280.56,469.94,multiply,BTC +2018-07-28,473.36,466.85,469.94,655586.11,307304708.38,468.75,multiply,BTC +2018-07-29,469.26,464.91,468.66,647838.88,302088737.1,466.3,multiply,BTC +2018-07-30,466.28,454.51,466.3,951325.62,434017720.46,456.22,multiply,BTC +2018-07-31,434.57,420.88,456.31,813871.25,351353991.41,431.71,multiply,BTC +2018-08-01,435.63,407.92,431.97,430546.42,180870688.86,419.87,direct, +2018-08-02,419.05,409.1,420.27,923478.29,379881312.39,411.36,multiply,BTC +2018-08-03,418.65,403.52,411.28,845097.97,353047478.91,417.76,multiply,BTC +2018-08-04,411.18,386.19,417.76,741265.45,301931009.33,407.32,multiply,BTC +2018-08-05,412.33,406.35,407.32,717784.13,293842254.25,409.37,multiply,BTC +2018-08-06,407.23,400.63,409.38,704461.31,285802073.75,405.7,multiply,BTC +2018-08-07,393.04,372.26,405.7,936982.67,354474623.82,378.32,multiply,BTC +2018-08-08,380.36,347.7,377.94,738339.54,268260157.35,355.57,direct, +2018-08-09,373.88,363.22,355.67,965079.72,351605181.28,364.33,multiply,BTC +2018-08-10,347.3,330.44,364.33,1202995.42,399736298.56,332.28,multiply,BTC +2018-08-11,337.66,311.88,332.26,1379716.74,439604301.32,318.62,multiply,BTC +2018-08-12,326.07,317.92,318.62,1104466.94,351826518.53,318.55,multiply,BTC +2018-08-13,322.3,281.06,318.21,737001.75,221289324.59,284.03,direct, +2018-08-14,284.03,250.45,284.03,1255465.56,331398930.74,278.31,direct, +2018-08-15,304.72,276.86,278.31,965367.88,278662361.27,281.24,direct, +2018-08-16,298.84,278.02,281.24,533236.46,153825432.04,286.8,direct, +2018-08-17,318.31,285.34,286.8,733901.78,221725330.97,317.57,direct, +2018-08-18,321.17,283.02,317.57,539699.47,161954925.25,294.85,direct, +2018-08-19,308.33,296.43,294.73,986248.26,296397938.73,300.53,multiply,BTC +2018-08-20,291.74,269.79,300.6,1132313.95,307550133.58,271.61,multiply,BTC +2018-08-21,285.93,275.87,271.62,1030747.56,290443104.43,281.78,multiply,BTC +2018-08-22,299.0,259.61,281.13,758035.3,212669541.08,270.37,direct, +2018-08-23,282.02,274.44,270.62,934910.81,258655205.59,276.66,multiply,BTC +2018-08-24,284.46,279.9,276.67,1179763.99,332746155.15,282.04,multiply,BTC +2018-08-25,283.89,277.61,281.98,962455.83,267771441.99,278.22,multiply,BTC +2018-08-26,277.22,273.46,278.22,1275199.06,350431503.6,274.81,multiply,BTC +2018-08-27,288.32,281.75,274.81,1220143.57,351281578.75,287.9,multiply,BTC +2018-08-28,297.06,289.19,287.91,1252607.16,371030937.14,296.21,multiply,BTC +2018-08-29,295.48,288.57,296.14,1143326.22,330652824.01,289.2,multiply,BTC +2018-08-30,288.7,280.02,289.19,1205956.66,343178582.16,284.57,multiply,BTC +2018-08-31,286.42,274.82,284.57,1103627.35,311291530.07,282.06,multiply,BTC +2018-09-01,300.24,277.84,282.06,956215.81,282823839.63,295.77,multiply,BTC +2018-09-02,301.91,293.07,295.77,968908.4,285941271.68,295.12,multiply,BTC +2018-09-03,294.44,287.31,295.12,1174411.83,339899082.77,289.42,multiply,BTC +2018-09-04,294.5,284.03,289.42,990904.5,283130619.79,285.73,multiply,BTC +2018-09-05,287.54,226.12,285.23,1098914.67,279599544.57,228.27,direct, +2018-09-06,232.78,211.18,228.27,1217780.0,273642406.8,229.52,direct, +2018-09-07,229.8,215.31,229.8,1469692.96,317001424.27,215.69,multiply,BTC +2018-09-08,213.16,192.45,215.74,1735406.03,342269080.57,197.23,multiply,BTC +2018-09-09,208.38,185.01,196.77,803730.43,158079940.67,195.99,direct, +2018-09-10,202.45,189.92,195.78,1541484.78,303974212.47,197.2,multiply,BTC +2018-09-11,199.12,175.96,197.13,932452.78,175106713.96,185.15,direct, +2018-09-12,185.15,167.6,185.15,1404998.1,245547248.93,183.03,direct, +2018-09-13,214.92,183.03,183.03,1647474.45,329648784.19,211.27,direct, +2018-09-14,223.98,202.8,211.27,1462772.43,312268002.01,208.87,direct, +2018-09-15,227.67,208.38,208.87,765091.75,168167381.91,221.63,direct, +2018-09-16,223.42,207.9,221.62,597045.19,129504097.06,220.12,direct, +2018-09-17,225.58,192.51,220.12,1595058.53,334881838.36,196.04,direct, +2018-09-18,214.68,194.0,196.04,1017058.63,208223203.44,208.39,direct, +2018-09-19,215.34,197.43,208.39,1008322.6,209614073.37,209.78,direct, +2018-09-20,228.89,206.97,209.78,835262.64,179337694.48,224.76,direct, +2018-09-21,252.21,221.25,224.76,1387343.36,324152515.33,247.69,direct, +2018-09-22,250.66,236.22,247.83,1700452.29,409452093.96,240.79,multiply,BTC +2018-09-23,246.59,237.68,240.79,1625340.76,397419376.76,244.51,multiply,BTC +2018-09-24,240.83,226.14,244.52,1644057.95,374933135.5,228.05,multiply,BTC +2018-09-25,227.92,202.9,227.92,1284207.48,274370639.08,219.2,direct, +2018-09-26,222.62,207.31,219.2,776791.2,167260754.49,214.21,direct, +2018-09-27,234.2,210.05,214.21,792856.01,175768934.72,229.09,direct, +2018-09-28,234.06,214.97,229.09,872920.21,196588546.04,221.56,direct, +2018-09-29,237.16,213.33,221.56,743631.15,169490766.55,231.32,direct, +2018-09-30,237.33,229.58,231.59,1262457.07,293929555.6,232.82,multiply,BTC +2018-10-01,233.0,227.66,232.89,930666.79,214943264.91,230.96,multiply,BTC +2018-10-02,228.91,224.93,230.96,1125858.59,253977370.59,225.59,multiply,BTC +2018-10-03,224.57,218.14,225.59,1245772.0,274098108.31,220.02,multiply,BTC +2018-10-04,225.42,221.02,220.03,1264062.51,280874068.18,222.2,multiply,BTC +2018-10-05,230.03,222.53,222.21,1281236.19,292340594.21,228.17,multiply,BTC +2018-10-06,227.29,223.99,228.17,1006198.6,226441423.93,225.05,multiply,BTC +2018-10-07,226.29,223.91,225.05,1071407.41,242163119.88,226.02,multiply,BTC +2018-10-08,230.49,226.24,226.03,1200418.82,275169500.71,229.23,multiply,BTC +2018-10-09,229.53,226.94,229.23,1188808.62,270655286.62,227.67,multiply,BTC +2018-10-10,226.52,224.41,227.67,1200791.37,270423278.34,225.2,multiply,BTC +2018-10-11,225.26,186.88,225.26,1389697.82,280686354.91,189.83,direct, +2018-10-12,198.15,191.59,190.32,1328302.74,259967593.22,195.71,multiply,BTC +2018-10-13,200.55,195.66,195.75,1080408.06,215324446.91,199.3,multiply,BTC +2018-10-14,200.13,193.92,199.3,1074393.91,209424639.04,194.92,multiply,BTC +2018-10-15,232.03,192.88,194.99,1644889.63,352120919.31,210.8,direct, +2018-10-16,210.59,207.7,209.89,1238103.59,259593356.15,209.67,multiply,BTC +2018-10-17,210.32,207.16,209.6,1231933.8,255940199.65,207.75,multiply,BTC +2018-10-18,205.82,201.09,207.81,1096643.56,221799891.23,202.25,multiply,BTC +2018-10-19,203.46,200.94,202.27,747920.05,151832262.46,203.01,multiply,BTC +2018-10-20,206.08,203.28,203.01,729710.89,149570216.48,204.97,multiply,BTC +2018-10-21,207.27,204.67,204.97,798148.74,163617144.5,205.0,multiply,BTC +2018-10-22,204.74,203.12,205.0,940433.89,191508315.64,203.64,multiply,BTC +2018-10-23,205.56,201.22,203.67,871510.03,177173032.3,203.29,multiply,BTC +2018-10-24,204.71,202.25,203.31,830502.15,168240717.09,202.58,multiply,BTC +2018-10-25,202.28,200.93,202.59,876314.95,176755399.67,201.7,multiply,BTC +2018-10-26,204.31,200.95,201.7,837268.23,169491166.29,202.43,multiply,BTC +2018-10-27,203.55,202.52,202.43,800415.68,162718697.85,203.29,multiply,BTC +2018-10-28,204.67,203.12,203.29,751479.04,153707591.53,204.54,multiply,BTC +2018-10-29,200.21,195.23,204.54,1098988.43,215314502.6,195.92,multiply,BTC +2018-10-30,197.1,195.39,195.94,1247023.94,245233441.42,196.65,multiply,BTC +2018-10-31,198.33,196.24,196.65,1203343.83,238281673.83,198.02,multiply,BTC +2018-11-01,199.61,198.52,198.02,1174377.49,233664637.3,198.97,multiply,BTC +2018-11-02,202.14,197.79,198.97,1010445.9,203212853.44,201.11,multiply,BTC +2018-11-03,200.79,199.52,201.11,804364.72,160790602.79,199.9,multiply,BTC +2018-11-04,216.71,202.29,199.9,1134736.79,240039049.53,211.54,multiply,BTC +2018-11-05,210.83,207.42,211.54,1055466.14,221169670.15,209.55,multiply,BTC +2018-11-06,219.6,210.14,209.54,1214482.69,266382838.22,219.34,multiply,BTC +2018-11-07,222.21,216.85,219.34,1358813.93,295458250.74,217.44,multiply,BTC +2018-11-08,215.81,211.56,217.48,1108888.0,234738959.81,211.69,multiply,BTC +2018-11-09,211.11,208.31,211.69,952706.25,199608128.23,209.52,multiply,BTC +2018-11-10,213.13,209.93,209.52,924730.08,196079456.84,212.04,multiply,BTC +2018-11-11,212.75,210.32,212.04,1038260.41,219760467.39,211.66,multiply,BTC +2018-11-12,211.08,208.98,211.66,949787.31,199753463.08,210.31,multiply,BTC +2018-11-13,209.38,205.2,210.31,940932.1,193734382.99,205.9,multiply,BTC +2018-11-14,208.15,171.51,206.43,1719045.01,318920969.0,182.72,direct, +2018-11-15,185.67,168.57,182.72,1166086.93,206578170.27,181.53,direct, +2018-11-16,179.65,174.63,180.89,1905419.11,333375893.36,174.96,multiply,BTC +2018-11-17,175.92,173.25,175.04,1704766.24,297438902.54,174.47,multiply,BTC +2018-11-18,179.01,174.47,174.44,1528622.88,271156395.11,177.39,multiply,BTC +2018-11-19,177.58,144.85,177.55,1915792.53,300853051.45,148.22,direct, +2018-11-20,152.22,124.36,148.22,3133631.53,427274827.74,130.74,direct, +2018-11-21,139.42,124.5,130.74,1714819.01,228871551.23,136.5,direct, +2018-11-22,129.1,125.04,136.23,2298839.16,287547275.65,125.08,multiply,BTC +2018-11-23,127.14,118.18,124.83,1423327.48,174492308.72,123.37,direct, +2018-11-24,113.12,108.49,122.92,2365747.48,266514785.32,112.66,multiply,BTC +2018-11-25,120.55,100.96,112.74,2302298.15,253590457.32,116.75,direct, +2018-11-26,119.22,104.87,116.68,1629550.54,181319493.57,108.87,direct, +2018-11-27,110.87,106.28,108.51,2813079.41,309080721.8,109.87,multiply,BTC +2018-11-28,126.71,110.2,110.21,1540641.13,181557557.02,122.88,direct, +2018-11-29,123.89,117.5,122.83,2363349.32,278297083.78,117.76,multiply,BTC +2018-11-30,114.2,109.62,117.76,2203806.82,248836912.67,112.91,multiply,BTC +2018-12-01,120.68,116.82,112.91,2131624.28,252048473.51,118.24,multiply,BTC +2018-12-02,117.44,115.57,118.25,2046743.48,237903787.16,116.24,multiply,BTC +2018-12-03,109.95,107.24,116.24,1979524.28,214426131.6,108.32,multiply,BTC +2018-12-04,110.87,109.49,108.32,2044465.98,224414144.86,109.77,multiply,BTC +2018-12-05,104.13,101.74,109.77,2490780.54,253680250.52,101.85,multiply,BTC +2018-12-06,104.06,90.05,101.57,1792429.98,175524704.83,90.43,direct, +2018-12-07,97.75,82.08,90.43,2667206.67,235077885.79,93.61,direct, +2018-12-08,97.33,88.4,93.55,2754012.05,252498136.59,91.68,multiply,BTC +2018-12-09,96.97,93.92,91.68,2510443.0,237216006.74,94.49,multiply,BTC +2018-12-10,91.64,89.66,94.49,2254687.48,204658543.53,90.77,multiply,BTC +2018-12-11,90.2,87.58,90.77,2732110.42,241312257.83,88.32,multiply,BTC +2018-12-12,91.57,90.03,88.32,2598668.43,234871157.53,90.38,multiply,BTC +2018-12-13,87.72,85.47,90.38,2589752.39,223743147.88,86.4,multiply,BTC +2018-12-14,85.09,83.73,86.4,2955647.31,248636381.72,84.12,multiply,BTC +2018-12-15,84.53,83.69,84.12,2080434.83,175388688.31,84.3,multiply,BTC +2018-12-16,86.89,84.9,84.3,2147007.94,183329476.38,85.39,multiply,BTC +2018-12-17,96.16,92.89,85.39,2953534.78,280751231.88,95.06,multiply,BTC +2018-12-18,102.19,98.21,95.06,3183833.06,324514621.86,101.93,multiply,BTC +2018-12-19,109.23,99.85,102.44,1650300.2,172185010.13,100.63,direct, +2018-12-20,118.89,99.75,100.63,1782489.84,197572100.76,116.43,direct, +2018-12-21,112.21,107.53,116.31,3001276.01,328341422.07,109.4,multiply,BTC +2018-12-22,118.65,112.58,109.4,2560237.01,301382099.02,117.72,multiply,BTC +2018-12-23,132.29,116.58,117.72,3731607.72,490520819.94,131.45,multiply,BTC +2018-12-24,161.25,131.53,131.56,2626361.2,385949928.24,140.87,direct, +2018-12-25,141.84,124.03,140.87,1736974.87,225626016.68,130.99,direct, +2018-12-26,135.94,128.7,130.53,2415410.65,318122267.38,131.71,multiply,BTC +2018-12-27,133.94,114.67,132.61,1330727.47,162270992.08,116.72,direct, +2018-12-28,141.13,115.35,116.72,1544476.61,198667294.58,139.73,direct, +2018-12-29,141.86,130.16,139.36,2754799.77,377506453.13,137.04,multiply,BTC +2018-12-30,142.13,136.87,137.04,2219032.46,312978555.89,141.04,multiply,BTC +2018-12-31,135.99,132.58,141.04,1868137.78,248732768.88,133.14,multiply,BTC +2019-01-01,145.16,137.2,133.14,1645411.82,233479141.71,141.9,multiply,BTC +2019-01-02,158.28,144.7,141.9,2378358.75,371269897.05,156.1,multiply,BTC +2019-01-03,152.9,146.61,156.1,1862946.71,277765127.55,149.1,multiply,BTC +2019-01-04,158.8,147.32,149.44,1053057.39,161910054.26,156.04,direct, +2019-01-05,160.54,154.6,155.39,2314399.7,361556453.37,156.22,multiply,BTC +2019-01-06,166.94,157.63,156.22,2133292.91,337674567.87,158.29,multiply,BTC +2019-01-07,156.71,151.32,158.29,1921902.0,292618297.25,152.25,multiply,BTC +2019-01-08,152.42,149.02,152.25,1809465.46,272649472.92,150.68,multiply,BTC +2019-01-09,153.31,150.52,150.68,1657241.35,250584005.29,151.21,multiply,BTC +2019-01-10,152.75,124.07,151.17,1473376.34,197435643.47,127.96,direct, +2019-01-11,129.45,123.91,127.87,2219931.94,281911403.63,126.99,multiply,BTC +2019-01-12,128.07,125.36,126.99,1880333.81,237024861.67,126.05,multiply,BTC +2019-01-13,122.3,115.1,126.05,1986012.99,231684768.11,116.66,multiply,BTC +2019-01-14,131.08,121.52,116.66,2633664.48,341614141.96,129.71,multiply,BTC +2019-01-15,128.52,119.43,129.71,2597993.66,315354770.98,121.38,multiply,BTC +2019-01-16,126.34,121.56,121.38,2367709.67,291968486.6,123.31,multiply,BTC +2019-01-17,125.01,122.13,123.31,2134039.6,264721632.8,124.05,multiply,BTC +2019-01-18,122.9,120.35,124.05,1874041.38,226359715.29,120.79,multiply,BTC +2019-01-19,125.51,123.49,120.79,2018053.01,251849865.06,124.8,multiply,BTC +2019-01-20,119.48,117.81,124.8,2065907.15,244777590.01,118.48,multiply,BTC +2019-01-21,118.66,115.73,118.48,1837526.36,215217071.74,117.12,multiply,BTC +2019-01-22,119.23,116.02,117.12,2000055.52,237669196.71,118.83,multiply,BTC +2019-01-23,118.31,116.48,118.83,1874688.45,219510643.18,117.09,multiply,BTC +2019-01-24,118.07,116.3,117.09,2108217.76,247242854.39,117.28,multiply,BTC +2019-01-25,117.88,115.58,117.28,1963294.16,227206824.52,115.73,multiply,BTC +2019-01-26,116.99,115.7,115.73,1716943.65,199822606.41,116.38,multiply,BTC +2019-01-27,115.51,112.59,116.38,2188797.46,246426257.58,112.59,multiply,BTC +2019-01-28,109.61,103.15,112.59,3156975.51,334702524.63,106.02,multiply,BTC +2019-01-29,105.9,103.4,106.02,2549870.48,267061143.7,104.74,multiply,BTC +2019-01-30,109.32,105.72,104.74,2350356.15,255069282.26,108.52,multiply,BTC +2019-01-31,108.79,105.77,108.52,2030539.26,216167209.46,106.46,multiply,BTC +2019-02-01,107.62,105.55,106.46,1698659.24,181284401.27,106.72,multiply,BTC +2019-02-02,110.8,107.93,106.72,1615356.38,178591389.32,110.56,multiply,BTC +2019-02-03,109.11,106.56,110.56,1882567.19,201513208.57,107.04,multiply,BTC +2019-02-04,107.54,105.92,107.04,2060237.91,219639134.47,106.61,multiply,BTC +2019-02-05,107.33,106.29,106.61,1814712.94,193388823.47,106.57,multiply,BTC +2019-02-06,105.11,101.78,106.57,2082286.07,217093048.52,104.26,multiply,BTC +2019-02-07,104.57,103.42,104.26,1843678.58,191171285.65,103.69,multiply,BTC +2019-02-08,120.6,112.03,103.69,2722369.81,324625659.62,119.24,multiply,BTC +2019-02-09,120.34,118.15,119.24,1982836.55,235649298.47,118.84,multiply,BTC +2019-02-10,125.85,118.11,118.84,2242194.49,280769964.49,125.22,multiply,BTC +2019-02-11,122.79,119.14,125.22,2968195.53,356948136.07,120.26,multiply,BTC +2019-02-12,122.34,119.41,120.26,2566676.02,312802200.01,121.87,multiply,BTC +2019-02-13,124.04,121.12,121.87,2717081.89,330761711.96,121.73,multiply,BTC +2019-02-14,123.27,120.4,121.73,2080820.55,250608706.8,120.44,multiply,BTC +2019-02-15,122.29,120.09,120.44,2443434.2,294935529.25,120.71,multiply,BTC +2019-02-16,123.42,121.0,120.71,2232697.56,273783279.05,122.62,multiply,BTC +2019-02-17,135.38,124.3,122.62,3049212.86,408559701.23,133.99,multiply,BTC +2019-02-18,149.54,141.99,133.99,3533318.13,516892615.35,146.29,multiply,BTC +2019-02-19,148.89,143.9,146.29,3423275.28,493153101.44,144.06,multiply,BTC +2019-02-20,149.27,143.3,144.06,2978049.17,443335964.75,148.87,multiply,BTC +2019-02-21,147.48,143.98,148.87,2357125.98,343085269.95,145.55,multiply,BTC +2019-02-22,148.9,145.96,145.55,2329984.84,345274199.76,148.19,multiply,BTC +2019-02-23,161.57,153.52,148.19,2870106.19,456327163.14,158.99,multiply,BTC +2019-02-24,149.24,133.21,158.99,4061540.98,541052570.23,133.21,multiply,BTC +2019-02-25,141.28,135.75,133.21,3905195.69,540929236.18,138.52,multiply,BTC +2019-02-26,137.71,135.08,138.52,2955119.83,403906085.7,136.68,multiply,BTC +2019-02-27,139.82,132.08,136.68,3450846.98,467431921.29,135.45,multiply,BTC +2019-02-28,137.3,134.28,135.45,3507157.3,475891088.62,135.69,multiply,BTC +2019-03-01,137.09,135.21,135.69,2435565.13,330159759.2,135.56,multiply,BTC +2019-03-02,136.42,132.0,135.56,2736749.29,364630052.18,133.23,multiply,BTC +2019-03-03,133.89,129.54,133.23,3022980.48,395176432.49,130.72,multiply,BTC +2019-03-04,128.06,124.7,130.72,4044855.21,510427922.11,126.19,multiply,BTC +2019-03-05,137.65,130.71,126.19,4103338.25,563233224.87,137.26,multiply,BTC +2019-03-06,139.42,135.78,137.26,3702274.52,510295746.82,137.83,multiply,BTC +2019-03-07,139.08,136.71,137.83,3592852.24,492561930.9,137.09,multiply,BTC +2019-03-08,136.97,132.6,137.09,3861108.53,516297592.21,133.72,multiply,BTC +2019-03-09,139.2,136.16,133.72,4760257.24,654346420.66,137.46,multiply,BTC +2019-03-10,137.27,135.23,137.46,4554160.71,618882510.73,135.89,multiply,BTC +2019-03-11,134.19,132.1,135.89,3955121.52,525057139.92,132.75,multiply,BTC +2019-03-12,134.97,131.16,132.75,4263917.8,570039062.82,133.69,multiply,BTC +2019-03-13,133.46,131.83,133.69,3630253.25,479696040.47,132.14,multiply,BTC +2019-03-14,133.48,131.7,132.14,3663443.97,484598445.78,132.28,multiply,BTC +2019-03-15,137.45,133.83,132.28,4270863.8,583666428.65,136.66,multiply,BTC +2019-03-16,143.64,140.1,136.66,4152529.68,588456982.06,141.71,multiply,BTC +2019-03-17,140.69,138.53,141.71,3079593.86,428711369.9,139.21,multiply,BTC +2019-03-18,140.33,137.42,139.21,3675766.34,505988400.31,137.66,multiply,BTC +2019-03-19,140.0,138.51,137.66,2959759.78,410911826.38,138.83,multiply,BTC +2019-03-20,140.08,135.21,138.83,3438753.92,479746173.14,139.51,multiply,BTC +2019-03-21,137.65,135.14,139.51,3173312.8,429463619.13,135.34,multiply,BTC +2019-03-22,137.15,135.19,135.34,3596683.36,490834531.25,136.47,multiply,BTC +2019-03-23,138.05,136.45,136.47,3023175.92,414921651.66,137.25,multiply,BTC +2019-03-24,136.96,135.44,137.25,2981608.11,406092493.2,136.2,multiply,BTC +2019-03-25,134.26,132.26,136.2,3670095.99,490150261.65,133.55,multiply,BTC +2019-03-26,134.67,133.4,133.55,3827002.09,512803193.25,134.0,multiply,BTC +2019-03-27,139.91,137.48,134.0,3320217.4,463859901.26,139.71,multiply,BTC +2019-03-28,139.46,137.64,139.71,2606104.07,360079362.31,138.17,multiply,BTC +2019-03-29,143.61,140.28,138.17,2705221.02,388164486.74,143.49,multiply,BTC +2019-03-30,145.62,141.5,143.49,2819177.84,401929227.82,142.57,multiply,BTC +2019-03-31,142.59,140.82,142.57,2457222.63,348447809.47,141.81,multiply,BTC +2019-04-01,143.51,140.61,141.81,2630129.91,372212036.51,141.52,multiply,BTC +2019-04-02,167.67,155.55,141.52,5376478.86,887226842.02,165.02,multiply,BTC +2019-04-03,173.63,157.01,165.02,6336384.73,1021372943.94,161.19,multiply,BTC +2019-04-04,160.08,154.62,161.19,5902832.8,931278063.8,157.77,multiply,BTC +2019-04-05,168.27,161.56,157.77,4067491.58,676449184.13,166.31,multiply,BTC +2019-04-06,168.81,163.45,166.31,3675655.57,610081433.69,165.98,multiply,BTC +2019-04-07,176.84,168.99,165.98,4130987.52,723860882.3,175.23,multiply,BTC +2019-04-08,186.35,178.15,175.23,5434639.01,982257918.76,180.74,multiply,BTC +2019-04-09,179.08,175.49,180.74,4225973.63,744921064.59,176.27,multiply,BTC +2019-04-10,184.61,174.66,176.27,4395604.92,779905569.97,177.43,multiply,BTC +2019-04-11,168.52,162.61,177.43,4106469.25,678135751.74,165.14,multiply,BTC +2019-04-12,166.77,163.93,165.14,3527639.38,579717122.14,164.34,multiply,BTC +2019-04-13,165.07,162.68,164.34,2556214.45,419488385.19,164.11,multiply,BTC +2019-04-14,168.66,165.87,164.11,2441615.5,410659242.92,168.19,multiply,BTC +2019-04-15,164.47,157.31,168.19,2940051.46,471248886.63,160.29,multiply,BTC +2019-04-16,168.43,165.51,160.29,2586513.57,431051631.58,166.65,multiply,BTC +2019-04-17,167.61,165.57,166.65,2898589.05,483563621.54,166.83,multiply,BTC +2019-04-18,175.99,168.0,166.83,3332583.95,580507688.82,174.19,multiply,BTC +2019-04-19,175.18,172.05,174.19,3419770.34,594715862.71,173.91,multiply,BTC +2019-04-20,176.46,172.14,173.91,2870760.96,499377592.66,173.95,multiply,BTC +2019-04-21,173.55,168.93,173.95,3168444.87,538958886.59,170.1,multiply,BTC +2019-04-22,174.95,171.66,170.1,3103252.87,533034241.1,171.77,multiply,BTC +2019-04-23,176.48,170.22,171.77,3700068.68,631247553.1,170.6,multiply,BTC +2019-04-24,168.11,162.06,170.6,3857979.43,640568932.45,166.04,multiply,BTC +2019-04-25,157.46,151.47,166.04,3703889.42,566583639.01,152.97,multiply,BTC +2019-04-26,156.34,153.1,152.97,4271880.05,664745100.27,155.61,multiply,BTC +2019-04-27,158.82,154.74,155.61,3180592.49,499650658.23,157.09,multiply,BTC +2019-04-28,158.75,156.75,157.48,3266460.67,512017509.14,156.75,multiply,BTC +2019-04-29,156.41,153.47,156.75,3869970.37,600216907.48,155.1,multiply,BTC +2019-04-30,162.98,158.38,155.1,3866598.25,628938767.92,162.66,multiply,BTC +2019-05-01,165.03,159.69,162.66,3691944.96,592360037.63,160.45,multiply,BTC +2019-05-02,164.53,160.35,160.45,3473740.65,562923879.73,162.05,multiply,BTC +2019-05-03,169.78,162.53,162.05,4532945.57,758920968.96,167.42,multiply,BTC +2019-05-04,170.53,163.52,167.42,3713653.71,608566255.33,163.87,multiply,BTC +2019-05-05,164.61,161.6,163.87,3433695.94,561246835.97,163.45,multiply,BTC +2019-05-06,176.64,161.75,163.45,4488090.88,776787094.64,173.08,multiply,BTC +2019-05-07,182.44,168.13,173.08,4936028.8,831030599.03,168.36,multiply,BTC +2019-05-08,174.62,170.36,168.36,3403183.6,582840013.13,171.26,multiply,BTC +2019-05-09,176.21,168.37,171.26,3943191.45,671950641.49,170.41,multiply,BTC +2019-05-10,178.6,171.61,170.41,4814615.9,830217078.43,172.44,multiply,BTC +2019-05-11,205.96,183.95,172.44,7733488.89,1490463311.39,192.73,multiply,BTC +2019-05-12,190.0,182.74,192.73,5653948.51,1063997805.21,188.19,multiply,BTC +2019-05-13,212.41,192.66,188.19,5400982.7,1058688204.43,196.02,multiply,BTC +2019-05-14,221.53,198.23,196.02,6092824.59,1323964324.4,217.3,multiply,BTC +2019-05-15,250.34,222.19,217.3,6575907.22,1634933324.11,248.62,multiply,BTC +2019-05-16,273.23,238.66,248.62,7377066.74,1951751255.6,264.57,multiply,BTC +2019-05-17,249.84,232.95,264.57,5291707.52,1295140504.82,244.75,multiply,BTC +2019-05-18,243.12,232.51,244.75,3074321.32,719515504.6,234.04,multiply,BTC +2019-05-19,265.38,259.15,234.04,3040455.74,792664187.01,260.71,multiply,BTC +2019-05-20,257.7,248.83,260.71,2923763.43,738034002.31,252.43,multiply,BTC +2019-05-21,260.06,250.76,252.43,2942581.05,749567073.96,254.73,multiply,BTC +2019-05-22,248.64,239.94,254.73,2883661.97,702468322.2,243.6,multiply,BTC +2019-05-23,252.84,242.36,243.6,2881253.44,707377987.09,245.51,multiply,BTC +2019-05-24,253.09,248.13,245.51,2643933.67,660051716.43,249.65,multiply,BTC +2019-05-25,256.84,250.4,249.65,2637221.94,663540965.23,251.61,multiply,BTC +2019-05-26,273.74,263.44,251.61,2870058.04,769125395.58,267.98,multiply,BTC +2019-05-27,275.77,267.07,267.98,2833209.15,770352433.68,271.9,multiply,BTC +2019-05-28,274.56,267.49,271.9,2485168.11,673868828.05,271.16,multiply,BTC +2019-05-29,271.81,267.39,271.16,2113498.34,569336656.47,269.38,multiply,BTC +2019-05-30,273.94,247.29,269.38,3490610.38,888919581.13,254.66,multiply,BTC +2019-05-31,268.06,258.74,254.66,2633020.0,705141146.06,267.81,multiply,BTC +2019-06-01,274.64,263.95,267.81,2219915.89,587463132.92,264.63,multiply,BTC +2019-06-02,273.41,268.25,264.63,1620460.57,436393898.24,269.3,multiply,BTC +2019-06-03,252.36,246.44,269.3,2244046.91,560664230.33,249.85,multiply,BTC +2019-06-04,242.38,235.54,249.85,1991928.16,480046287.2,241.0,multiply,BTC +2019-06-05,248.0,240.98,241.0,1662960.5,409428797.44,246.2,multiply,BTC +2019-06-06,250.46,244.37,246.2,1590101.24,396643045.51,249.45,multiply,BTC +2019-06-07,256.64,249.2,249.45,1747793.47,436392667.05,249.68,multiply,BTC +2019-06-08,248.57,244.12,249.68,1453951.11,355518816.28,244.52,multiply,BTC +2019-06-09,236.56,229.3,244.52,1893756.32,438297331.78,231.44,multiply,BTC +2019-06-10,249.05,242.39,231.44,1780849.58,441524451.41,247.93,multiply,BTC +2019-06-11,247.18,243.14,247.93,1759613.13,431595398.61,245.28,multiply,BTC +2019-06-12,263.13,252.34,245.28,1811579.62,476376751.84,262.96,multiply,BTC +2019-06-13,265.68,253.9,262.96,1883213.77,480634410.27,255.22,multiply,BTC +2019-06-14,271.16,262.91,255.22,1963695.67,517973327.36,263.77,multiply,BTC +2019-06-15,273.22,267.38,263.77,1611323.66,433542241.87,269.06,multiply,BTC +2019-06-16,273.33,263.81,269.06,2004740.17,538227592.91,268.48,multiply,BTC +2019-06-17,279.71,271.58,268.48,1940675.55,531768182.12,274.01,multiply,BTC +2019-06-18,267.55,262.1,274.01,2017150.88,533637693.55,264.55,multiply,BTC +2019-06-19,273.03,268.3,264.55,1779533.02,478605493.28,268.95,multiply,BTC +2019-06-20,277.24,267.7,268.95,2190475.73,595580698.66,271.9,multiply,BTC +2019-06-21,304.73,291.34,271.9,3122681.1,924121483.27,295.94,multiply,BTC +2019-06-22,317.59,297.6,295.94,3298498.2,1021113047.88,309.57,multiply,BTC +2019-06-23,319.49,305.49,309.57,2040964.74,627034406.46,307.22,multiply,BTC +2019-06-24,315.73,309.11,307.22,2098324.67,652783581.27,311.1,multiply,BTC +2019-06-25,331.19,315.82,311.1,2490224.83,787327800.84,316.17,multiply,BTC +2019-06-26,356.54,327.09,316.17,4990063.21,1668946361.31,334.45,multiply,BTC +2019-06-27,304.51,286.44,334.45,4621483.37,1358301432.01,293.91,multiply,BTC +2019-06-28,334.45,308.51,293.91,3471024.97,1074691127.45,309.62,multiply,BTC +2019-06-29,321.7,297.1,309.62,3056919.35,971430380.51,317.78,multiply,BTC +2019-06-30,291.52,280.86,317.78,3031844.46,880899282.02,290.55,multiply,BTC +2019-07-01,296.25,282.38,290.55,2999260.81,882191267.14,294.14,multiply,BTC +2019-07-02,306.78,288.02,294.14,2799184.46,816238425.59,291.6,multiply,BTC +2019-07-03,322.31,301.94,291.6,2711953.93,819487944.53,302.18,multiply,BTC +2019-07-04,285.27,277.35,302.18,2279751.32,645008552.75,282.93,multiply,BTC +2019-07-05,290.33,276.81,282.93,2373874.37,683730773.75,288.02,multiply,BTC +2019-07-06,294.83,285.05,288.02,2072399.95,596794948.95,287.97,multiply,BTC +2019-07-07,310.49,293.4,287.97,1928737.3,591115586.49,306.48,multiply,BTC +2019-07-08,331.01,310.6,306.48,2214926.34,693677708.29,313.18,multiply,BTC +2019-07-09,320.08,306.51,313.18,2845152.84,876714871.61,308.14,multiply,BTC +2019-07-10,296.79,278.52,308.14,3724564.02,1075676415.5,288.81,multiply,BTC +2019-07-11,274.84,261.69,288.81,3115104.38,836379516.15,268.49,multiply,BTC +2019-07-12,283.84,273.82,268.49,2573134.0,708817593.57,275.47,multiply,BTC +2019-07-13,276.37,264.44,275.47,2212539.02,595140184.21,268.99,multiply,BTC +2019-07-14,245.62,225.11,268.99,3941740.01,893355743.41,226.64,multiply,BTC +2019-07-15,241.31,224.82,226.64,4047278.66,923511961.6,228.18,multiply,BTC +2019-07-16,201.66,190.92,228.18,3819409.66,758710891.32,198.65,multiply,BTC +2019-07-17,216.42,203.43,198.65,3457315.92,730793851.92,211.38,multiply,BTC +2019-07-18,237.98,223.72,211.38,4163229.42,940274400.8,225.85,multiply,BTC +2019-07-19,223.82,219.3,225.85,3382912.4,748628600.16,221.3,multiply,BTC +2019-07-20,235.2,226.06,221.3,3437372.01,786282585.77,228.75,multiply,BTC +2019-07-21,226.66,222.53,228.75,3182833.04,717382099.64,225.39,multiply,BTC +2019-07-22,220.77,215.29,225.39,2812671.28,610780136.13,217.15,multiply,BTC +2019-07-23,212.95,206.64,217.15,2956925.28,626466682.83,211.86,multiply,BTC +2019-07-24,219.38,204.82,211.86,2910890.74,630355201.49,216.55,multiply,BTC +2019-07-25,220.77,216.72,216.55,2187389.53,479242769.15,219.09,multiply,BTC +2019-07-26,220.29,216.74,219.09,1974001.81,432903949.44,219.3,multiply,BTC +2019-07-27,211.27,205.21,219.3,2173632.79,450368183.01,207.2,multiply,BTC +2019-07-28,212.37,206.55,207.2,1817422.14,383709983.77,211.13,multiply,BTC +2019-07-29,211.62,208.3,211.13,1876983.05,395787604.65,210.86,multiply,BTC +2019-07-30,213.12,209.18,210.86,2258182.15,474538660.45,210.14,multiply,BTC +2019-07-31,222.77,216.52,210.14,2589393.02,566129476.53,218.63,multiply,BTC +2019-08-01,225.58,216.11,218.63,2108178.67,458665072.26,217.56,multiply,BTC +2019-08-02,222.58,216.69,217.56,2145075.83,467067767.0,217.74,multiply,BTC +2019-08-03,226.25,220.3,217.74,1829095.55,406320804.41,222.14,multiply,BTC +2019-08-04,226.06,220.79,222.14,1841143.5,410136962.82,222.76,multiply,BTC +2019-08-05,240.29,229.19,222.76,2524717.21,589080374.18,233.33,multiply,BTC +2019-08-06,228.42,218.79,233.33,2709615.79,612417988.29,226.02,multiply,BTC +2019-08-07,236.49,224.76,226.02,2377149.41,537412641.79,226.07,multiply,BTC +2019-08-08,228.63,220.48,226.07,2308485.15,510366037.53,221.08,multiply,BTC +2019-08-09,219.98,208.35,221.08,2351560.73,494698238.3,210.37,multiply,BTC +2019-08-10,206.45,200.12,210.37,2388120.21,491941017.53,206.0,multiply,BTC +2019-08-11,219.2,210.65,206.0,2107135.75,455559384.48,216.2,multiply,BTC +2019-08-12,213.51,210.67,216.2,1612897.03,340886318.9,211.35,multiply,BTC +2019-08-13,209.5,200.04,211.35,2018275.26,421299621.63,208.74,multiply,BTC +2019-08-14,198.43,182.18,208.74,2828543.26,527503051.76,186.49,multiply,BTC +2019-08-15,194.11,185.35,186.49,2833953.91,533152620.53,188.13,multiply,BTC +2019-08-16,191.56,182.65,188.13,2614078.68,484514497.51,185.35,multiply,BTC +2019-08-17,186.53,181.83,185.35,1978569.54,367239957.61,185.61,multiply,BTC +2019-08-18,196.1,186.8,185.61,1997092.19,388939845.06,194.75,multiply,BTC +2019-08-19,206.65,202.06,194.75,1972257.37,399160484.61,202.39,multiply,BTC +2019-08-20,205.51,196.14,202.39,1927843.24,379364434.35,196.78,multiply,BTC +2019-08-21,188.65,183.69,196.78,2127105.53,398264906.15,187.23,multiply,BTC +2019-08-22,193.59,186.02,187.23,2403445.86,457766243.42,190.46,multiply,BTC +2019-08-23,197.59,192.91,190.46,2267870.62,441028157.59,194.47,multiply,BTC +2019-08-24,192.55,187.98,194.47,2224615.22,424955603.88,191.02,multiply,BTC +2019-08-25,191.27,185.8,191.02,1972154.53,368020206.97,186.61,multiply,BTC +2019-08-26,192.58,187.29,186.61,2438507.08,459497798.69,188.43,multiply,BTC +2019-08-27,188.86,184.38,188.43,2171550.34,406355468.77,187.13,multiply,BTC +2019-08-28,179.19,167.82,187.13,2582484.87,446690201.75,172.97,multiply,BTC +2019-08-29,170.49,165.93,172.97,2874572.18,485722262.14,168.97,multiply,BTC +2019-08-30,171.13,167.78,168.97,2318290.34,390733590.91,168.54,multiply,BTC +2019-08-31,174.11,167.37,168.54,2480615.09,427119799.14,172.18,multiply,BTC +2019-09-01,175.83,171.14,172.18,1965280.89,336725399.46,171.34,multiply,BTC +2019-09-02,183.34,178.25,171.34,2601802.17,465121246.9,178.77,multiply,BTC +2019-09-03,183.71,177.65,178.77,2690624.56,481710411.96,179.03,multiply,BTC +2019-09-04,179.74,173.91,179.03,2241155.38,392142478.16,174.97,multiply,BTC +2019-09-05,175.02,171.01,174.97,2421245.32,420446421.8,173.65,multiply,BTC +2019-09-06,170.22,166.51,173.65,3184658.05,538470021.17,169.08,multiply,BTC +2019-09-07,180.15,171.02,169.08,3194413.62,569095905.52,178.15,multiply,BTC +2019-09-08,182.68,176.95,178.15,2882843.48,523928398.41,181.74,multiply,BTC +2019-09-09,183.09,177.93,181.74,3080423.66,556683991.04,180.72,multiply,BTC +2019-09-10,180.25,177.02,180.72,2531620.58,455561042.4,179.95,multiply,BTC +2019-09-11,184.7,177.48,179.95,2621413.36,467382995.55,178.29,multiply,BTC +2019-09-12,184.18,180.84,178.29,2237403.82,405074680.2,181.05,multiply,BTC +2019-09-13,183.07,179.44,181.05,2083933.12,378265276.57,181.52,multiply,BTC +2019-09-14,188.96,180.78,181.52,2542328.14,479618318.72,188.65,multiply,BTC +2019-09-15,190.07,186.15,188.65,2291762.32,433702078.27,189.24,multiply,BTC +2019-09-16,200.92,188.49,189.24,3454835.36,682776485.14,197.63,multiply,BTC +2019-09-17,213.97,195.61,197.63,4479331.8,931019598.74,207.85,multiply,BTC +2019-09-18,215.97,207.13,207.85,2877396.64,605352362.08,210.38,multiply,BTC +2019-09-19,228.14,208.6,210.38,3053051.2,674852986.04,221.04,multiply,BTC +2019-09-20,219.2,214.93,221.04,2097027.53,457532794.9,218.18,multiply,BTC +2019-09-21,217.55,213.85,218.18,1895097.27,407918908.48,215.25,multiply,BTC +2019-09-22,216.5,207.16,215.25,2061169.9,435480738.37,211.28,multiply,BTC +2019-09-23,206.69,199.32,211.28,2214829.52,445112202.26,200.97,multiply,BTC +2019-09-24,177.43,162.05,200.97,5745380.51,957553586.46,166.66,multiply,BTC +2019-09-25,172.32,163.96,166.66,3574741.68,609047989.65,170.38,multiply,BTC +2019-09-26,166.26,159.32,170.38,3095689.97,514201980.38,166.1,multiply,BTC +2019-09-27,176.74,167.8,166.1,2891789.46,503977886.12,174.28,multiply,BTC +2019-09-28,176.32,172.53,174.28,2528177.37,439726389.28,173.93,multiply,BTC +2019-09-29,171.14,167.35,173.93,2486200.26,421890955.75,169.69,multiply,BTC +2019-09-30,181.34,174.77,169.69,2609366.23,473187331.31,181.34,multiply,BTC +2019-10-01,183.77,175.19,181.34,2179937.01,384631359.44,176.44,multiply,BTC +2019-10-02,182.01,177.06,176.44,1787813.16,323753300.19,181.09,multiply,BTC +2019-10-03,177.96,173.5,181.09,1655265.62,289922110.58,175.15,multiply,BTC +2019-10-04,177.82,173.41,175.15,1715505.36,302105911.46,176.1,multiply,BTC +2019-10-05,178.08,174.97,176.1,1272365.23,225332881.49,177.1,multiply,BTC +2019-10-06,172.71,168.7,177.1,1263027.64,215155383.67,170.35,multiply,BTC +2019-10-07,181.31,177.53,170.35,2286213.97,412441723.47,180.4,multiply,BTC +2019-10-08,182.6,178.66,180.4,1960263.55,354886754.1,181.04,multiply,BTC +2019-10-09,197.56,189.48,181.04,2905593.61,562034874.99,193.43,multiply,BTC +2019-10-10,194.54,183.62,193.43,2228352.74,427757729.71,191.96,multiply,BTC +2019-10-11,187.5,178.97,191.96,2449821.2,443112371.1,180.88,multiply,BTC +2019-10-12,183.72,178.39,180.88,1775778.58,319739035.73,180.06,multiply,BTC +2019-10-13,182.44,179.12,180.06,1692906.74,307303066.28,181.52,multiply,BTC +2019-10-14,188.02,182.84,181.52,1997060.85,373652756.7,187.1,multiply,BTC +2019-10-15,183.74,178.84,187.1,1601362.26,289391210.17,180.72,multiply,BTC +2019-10-16,177.68,174.23,180.72,1529482.72,267589324.29,174.95,multiply,BTC +2019-10-17,178.22,175.87,174.95,1364602.15,242094063.34,177.41,multiply,BTC +2019-10-18,175.72,171.73,177.41,1687411.38,292604701.33,173.4,multiply,BTC +2019-10-19,174.94,170.8,173.4,1290858.94,222428090.22,172.31,multiply,BTC +2019-10-20,178.88,175.01,172.31,1429636.02,251374860.0,175.83,multiply,BTC +2019-10-21,176.55,173.02,175.83,1694348.83,295380745.15,174.33,multiply,BTC +2019-10-22,179.33,168.16,174.33,1885090.78,323059100.73,171.38,multiply,BTC +2019-10-23,162.61,155.35,171.38,3784439.92,615086549.87,162.53,multiply,BTC +2019-10-24,162.51,159.9,162.53,2202051.68,354570058.7,161.02,multiply,BTC +2019-10-25,190.24,180.45,161.02,3261147.03,592418485.65,181.66,multiply,BTC +2019-10-26,194.72,175.55,181.66,4580205.62,823988066.26,179.9,multiply,BTC +2019-10-27,187.1,182.51,179.9,2849585.89,524982268.97,184.23,multiply,BTC +2019-10-28,182.32,175.13,184.23,2722797.38,495927707.71,182.14,multiply,BTC +2019-10-29,192.81,184.6,182.14,2802095.97,535243524.58,191.02,multiply,BTC +2019-10-30,188.26,182.3,191.02,2597000.86,476044544.78,183.31,multiply,BTC +2019-10-31,184.43,179.67,183.31,2195241.36,400652125.51,182.51,multiply,BTC +2019-11-01,185.67,181.79,182.51,2087708.68,382994933.81,183.45,multiply,BTC +2019-11-02,184.94,182.52,183.45,1609360.95,294931428.47,183.26,multiply,BTC +2019-11-03,183.42,181.02,183.26,1645443.11,299527547.75,182.03,multiply,BTC +2019-11-04,189.84,185.23,182.03,2840818.52,529141782.76,186.26,multiply,BTC +2019-11-05,191.32,183.68,186.26,2912285.73,550391641.52,188.99,multiply,BTC +2019-11-06,193.4,188.91,188.99,1997261.0,381966467.95,191.25,multiply,BTC +2019-11-07,188.87,185.64,191.25,1620394.79,302159116.09,186.47,multiply,BTC +2019-11-08,183.96,176.76,186.47,1876679.71,344566742.79,183.6,multiply,BTC +2019-11-09,185.71,183.33,183.6,1792345.9,331902613.43,185.18,multiply,BTC +2019-11-10,194.85,188.52,185.18,1967631.72,372531006.18,189.33,multiply,BTC +2019-11-11,187.18,182.38,189.33,1505414.44,278104215.94,184.74,multiply,BTC +2019-11-12,188.82,186.18,184.74,1449981.22,271229529.72,187.06,multiply,BTC +2019-11-13,189.25,185.48,187.06,1569220.48,295049483.62,188.02,multiply,BTC +2019-11-14,185.86,183.35,188.02,1675407.81,309501736.46,184.73,multiply,BTC +2019-11-15,181.99,177.67,184.73,1707961.8,307359873.79,179.96,multiply,BTC +2019-11-16,183.75,180.43,179.96,1327064.52,242378010.81,182.64,multiply,BTC +2019-11-17,184.95,181.8,182.64,1524136.66,280594098.04,184.1,multiply,BTC +2019-11-18,178.38,175.68,184.1,1821248.0,324429797.3,178.14,multiply,BTC +2019-11-19,177.07,173.98,178.14,1799691.24,316618094.51,175.93,multiply,BTC +2019-11-20,176.6,173.77,175.93,1421330.95,248249504.54,174.66,multiply,BTC +2019-11-21,165.47,159.14,174.66,2379873.48,383454674.86,161.12,multiply,BTC +2019-11-22,154.67,148.18,161.12,4238339.8,635753318.04,150.0,multiply,BTC +2019-11-23,154.49,149.72,150.0,1919617.42,292618829.45,152.44,multiply,BTC +2019-11-24,145.25,140.13,152.44,1755418.25,246588734.95,140.47,multiply,BTC +2019-11-25,150.12,143.69,140.47,3500174.72,512193569.93,146.33,multiply,BTC +2019-11-26,149.28,145.84,146.33,2324338.15,343314660.38,147.7,multiply,BTC +2019-11-27,156.58,152.59,147.7,2654231.01,406203726.11,153.04,multiply,BTC +2019-11-28,152.79,149.14,153.04,2177473.91,329295341.5,151.23,multiply,BTC +2019-11-29,160.13,153.68,151.23,2323684.94,360349682.33,155.08,multiply,BTC +2019-11-30,153.18,150.0,155.08,1903183.25,289362154.0,152.04,multiply,BTC +2019-12-01,152.94,148.04,152.04,2329309.65,352262433.35,151.23,multiply,BTC +2019-12-02,150.59,147.81,151.23,1856390.8,276974913.02,149.2,multiply,BTC +2019-12-03,150.66,147.22,149.2,1597602.09,235905745.43,147.66,multiply,BTC +2019-12-04,146.82,141.2,147.66,2301620.42,335275283.08,145.67,multiply,BTC +2019-12-05,150.73,146.73,145.67,2095347.31,310859865.18,148.36,multiply,BTC +2019-12-06,153.06,148.75,148.36,2023506.98,301614232.75,149.06,multiply,BTC +2019-12-07,148.87,146.31,149.06,1916952.96,282782578.16,147.52,multiply,BTC +2019-12-08,151.55,147.85,147.52,2035050.22,307180236.24,150.94,multiply,BTC +2019-12-09,148.56,145.47,150.94,2460246.3,362952616.65,147.53,multiply,BTC +2019-12-10,146.34,143.66,147.53,2622062.84,382196798.55,145.76,multiply,BTC +2019-12-11,146.33,142.65,145.76,1698774.16,243561335.45,143.37,multiply,BTC +2019-12-12,145.21,141.32,143.37,1370822.53,198566010.61,144.85,multiply,BTC +2019-12-13,146.32,143.71,144.85,1260895.58,182667599.49,144.87,multiply,BTC +2019-12-14,142.6,139.98,144.87,1089691.78,154769596.29,142.03,multiply,BTC +2019-12-15,143.72,141.79,142.03,1074097.58,153294265.6,142.72,multiply,BTC +2019-12-16,138.57,130.5,142.72,2288010.43,304103010.61,132.91,multiply,BTC +2019-12-17,128.2,121.04,132.91,2372137.92,289951572.14,122.23,multiply,BTC +2019-12-18,137.06,131.67,122.23,3030302.69,403409568.33,133.13,multiply,BTC +2019-12-19,131.23,125.86,133.13,1979782.32,253852334.83,128.22,multiply,BTC +2019-12-20,129.45,127.72,128.22,1172652.48,150611732.4,128.44,multiply,BTC +2019-12-21,128.3,126.94,128.44,1073799.3,136843442.96,127.44,multiply,BTC +2019-12-22,136.44,132.23,127.44,1914929.41,253363176.6,132.31,multiply,BTC +2019-12-23,130.19,126.31,132.31,2530152.22,323848609.57,128.0,multiply,BTC +2019-12-24,128.95,126.05,128.0,1917134.36,245133666.21,127.86,multiply,BTC +2019-12-25,126.91,123.81,127.86,1935398.76,241861348.44,124.97,multiply,BTC +2019-12-26,128.43,124.4,124.97,2025008.52,254385658.57,125.62,multiply,BTC +2019-12-27,127.09,125.13,125.62,2117705.95,267596594.43,126.36,multiply,BTC +2019-12-28,129.42,126.94,126.36,1823704.07,233763025.26,128.18,multiply,BTC +2019-12-29,135.93,129.27,128.18,2556094.92,344231138.15,134.67,multiply,BTC +2019-12-30,133.33,129.57,134.67,2689699.45,353560386.98,131.45,multiply,BTC +2019-12-31,133.05,128.23,131.45,2215298.66,285823337.69,129.02,multiply,BTC +2020-01-01,132.94,128.84,129.02,1565121.77,204356870.2,130.57,multiply,BTC +2020-01-02,127.54,125.45,130.57,2263943.03,287644676.75,127.05,multiply,BTC +2020-01-03,135.64,130.57,127.05,3363513.32,451528498.69,134.24,multiply,BTC +2020-01-04,136.56,133.47,134.24,1890626.05,253723528.41,134.2,multiply,BTC +2020-01-05,136.53,133.58,134.2,2230689.76,302251466.14,135.5,multiply,BTC +2020-01-06,146.48,142.37,135.5,2938882.86,423649231.45,144.15,multiply,BTC +2020-01-07,151.7,142.89,144.15,3570197.83,510138083.37,142.89,multiply,BTC +2020-01-08,141.11,136.12,142.89,4119909.22,578716722.57,140.47,multiply,BTC +2020-01-09,140.17,135.24,140.47,2574992.16,354683815.63,137.74,multiply,BTC +2020-01-10,148.0,143.0,137.74,3139152.22,454563935.2,144.8,multiply,BTC +2020-01-11,144.84,140.51,144.8,2603639.59,371061707.86,142.52,multiply,BTC +2020-01-12,146.69,144.16,142.52,1984784.04,290506599.97,146.37,multiply,BTC +2020-01-13,146.65,142.43,146.37,2021721.35,290088936.06,143.49,multiply,BTC +2020-01-14,169.63,152.69,143.49,6955259.26,1152190450.5,165.66,multiply,BTC +2020-01-15,171.33,162.34,165.66,5196037.72,862754656.84,166.04,multiply,BTC +2020-01-16,166.89,160.62,166.04,3214484.72,527507989.45,164.1,multiply,BTC +2020-01-17,174.34,166.24,164.1,4516472.6,767710921.71,169.98,multiply,BTC +2020-01-18,179.52,166.69,169.98,4982054.44,866424830.99,173.91,multiply,BTC +2020-01-19,171.09,164.3,173.91,3968902.88,662472107.99,166.92,multiply,BTC +2020-01-20,168.97,162.92,166.92,2168408.26,361336568.0,166.64,multiply,BTC +2020-01-21,171.09,166.56,166.64,2189523.43,370220822.27,169.09,multiply,BTC +2020-01-22,170.22,165.28,169.09,1795345.1,301566807.31,167.97,multiply,BTC +2020-01-23,164.02,160.41,167.97,2377112.52,386312306.91,162.51,multiply,BTC +2020-01-24,163.75,158.77,162.51,2324168.65,377435884.53,162.4,multiply,BTC +2020-01-25,161.58,158.4,162.4,1384665.6,222457869.05,160.66,multiply,BTC +2020-01-26,168.18,164.74,160.66,1743010.32,292233443.69,167.66,multiply,BTC +2020-01-27,173.89,169.52,167.66,2452800.32,416247047.32,169.7,multiply,BTC +2020-01-28,180.98,175.63,169.7,3238454.78,569377601.02,175.82,multiply,BTC +2020-01-29,177.09,173.28,175.82,2293380.33,397823150.89,173.47,multiply,BTC +2020-01-30,186.7,175.97,173.47,3066710.35,565568199.28,184.42,multiply,BTC +2020-01-31,182.64,177.5,184.42,2714562.26,487674049.61,179.65,multiply,BTC +2020-02-01,186.09,179.81,179.65,2166242.99,397838510.97,183.65,multiply,BTC +2020-02-02,190.7,181.27,183.65,3851746.39,725534844.29,188.37,multiply,BTC +2020-02-03,190.7,186.8,188.37,2889055.05,547997589.0,189.68,multiply,BTC +2020-02-04,188.76,184.63,189.68,2718810.77,512203474.25,188.39,multiply,BTC +2020-02-05,205.78,196.65,188.39,3955322.74,806325046.18,203.86,multiply,BTC +2020-02-06,214.34,205.65,203.86,4349177.44,925819964.93,212.87,multiply,BTC +2020-02-07,223.83,213.82,212.87,3223801.5,719675881.29,223.24,multiply,BTC +2020-02-08,228.75,218.65,223.24,3202425.6,714799127.35,223.21,multiply,BTC +2020-02-09,232.11,226.52,223.21,2208722.68,505028036.14,228.65,multiply,BTC +2020-02-10,224.76,217.76,228.65,2665253.24,594846674.44,223.19,multiply,BTC +2020-02-11,239.59,229.62,223.19,3970106.08,943842318.04,237.74,multiply,BTC +2020-02-12,276.91,239.45,237.74,6162261.7,1638802974.73,265.94,multiply,BTC +2020-02-13,273.74,258.19,265.94,5252002.2,1410279798.58,268.52,multiply,BTC +2020-02-14,286.88,266.78,268.52,4264466.83,1218082692.61,285.64,multiply,BTC +2020-02-15,275.67,263.48,285.64,4640538.98,1228225789.25,264.67,multiply,BTC +2020-02-16,270.87,244.66,264.67,4751288.67,1235093246.39,259.95,multiply,BTC +2020-02-17,268.27,241.79,259.95,5155249.75,1379015768.38,267.5,multiply,BTC +2020-02-18,290.0,274.93,267.5,5131089.38,1452489694.04,283.08,multiply,BTC +2020-02-19,270.88,256.96,283.08,3119006.38,807153589.68,258.79,multiply,BTC +2020-02-20,263.19,249.64,258.79,3750954.18,966650959.83,257.71,multiply,BTC +2020-02-21,266.98,257.48,257.71,3434048.33,912166977.09,265.62,multiply,BTC +2020-02-22,265.77,259.49,265.62,1742726.37,456762597.05,262.1,multiply,BTC +2020-02-23,275.58,269.39,262.1,2618558.08,721610483.07,275.58,multiply,BTC +2020-02-24,268.57,261.9,275.58,1777330.6,472525409.3,265.86,multiply,BTC +2020-02-25,257.03,246.6,265.86,3217338.12,793992744.73,246.79,multiply,BTC +2020-02-26,234.61,218.43,246.79,5096383.71,1141439327.42,223.97,multiply,BTC +2020-02-27,234.92,217.36,223.97,4720134.84,1074277672.87,227.59,multiply,BTC +2020-02-28,229.75,220.69,227.59,4201511.4,956885208.27,227.75,multiply,BTC +2020-02-29,227.14,217.91,227.75,5265472.33,1147393678.32,217.91,multiply,BTC +2020-03-01,222.71,214.93,217.91,4074524.49,889328823.45,218.27,multiply,BTC +2020-03-02,234.41,226.74,218.27,4139639.56,960775712.96,232.09,multiply,BTC +2020-03-03,229.13,222.91,232.09,4603088.97,1030922185.77,223.96,multiply,BTC +2020-03-04,227.5,222.5,223.96,3477977.96,782099795.13,224.87,multiply,BTC +2020-03-05,233.59,227.14,224.87,3489257.08,798259018.15,228.78,multiply,BTC +2020-03-06,245.77,230.84,228.78,3861984.61,948818789.11,245.68,multiply,BTC +2020-03-07,244.59,237.11,245.68,3915114.36,930388899.37,237.64,multiply,BTC +2020-03-08,215.06,197.74,237.64,4423300.22,883552623.46,199.75,multiply,BTC +2020-03-09,207.83,196.31,199.75,4444746.76,902545227.85,203.06,multiply,BTC +2020-03-10,202.97,198.0,203.06,4487519.67,900211302.18,200.6,multiply,BTC +2020-03-11,203.16,190.05,200.6,4427030.32,862475052.76,194.82,multiply,BTC +2020-03-12,120.81,105.22,194.82,7856259.11,866028497.69,110.23,multiply,BTC +2020-03-13,140.36,125.16,110.23,10980332.09,1484342374.16,135.18,multiply,BTC +2020-03-14,126.54,121.72,135.18,3081732.5,378141871.11,122.7,multiply,BTC +2020-03-15,127.6,119.25,122.7,3660808.54,452622446.96,123.64,multiply,BTC +2020-03-16,117.55,109.98,123.64,5953248.59,662853450.74,111.34,multiply,BTC +2020-03-17,120.2,115.13,111.34,4440425.33,515981234.12,116.2,multiply,BTC +2020-03-18,119.3,116.98,116.2,3527675.95,418382877.77,118.6,multiply,BTC +2020-03-19,138.67,132.91,118.6,3929460.13,537587654.84,136.81,multiply,BTC +2020-03-20,140.89,127.48,136.81,4153651.53,553741275.76,133.31,multiply,BTC +2020-03-21,133.7,130.85,133.31,2702792.47,359011975.68,132.83,multiply,BTC +2020-03-22,125.42,121.17,132.83,2528867.43,309805765.33,122.51,multiply,BTC +2020-03-23,138.33,133.06,122.51,1717734.85,234709856.11,136.64,multiply,BTC +2020-03-24,142.92,138.46,136.64,1691896.6,235170035.84,139.0,multiply,BTC +2020-03-25,141.05,135.69,139.0,1290204.79,175760951.78,136.23,multiply,BTC +2020-03-26,139.42,136.44,136.23,1168908.93,162254253.25,138.81,multiply,BTC +2020-03-27,132.32,129.83,138.81,1174339.63,154633712.05,131.68,multiply,BTC +2020-03-28,132.55,127.99,131.68,1248270.98,163822790.2,131.24,multiply,BTC +2020-03-29,125.11,122.76,131.24,902059.46,112330013.27,124.53,multiply,BTC +2020-03-30,136.39,131.01,124.53,1170545.56,154854263.42,132.29,multiply,BTC +2020-03-31,133.93,131.17,132.29,879133.02,117010142.69,133.1,multiply,BTC +2020-04-01,140.94,135.87,133.1,1441456.61,196140910.28,136.07,multiply,BTC +2020-04-02,143.78,138.81,136.07,1819978.87,257461293.94,141.46,multiply,BTC +2020-04-03,142.16,138.92,141.46,1413787.73,200026090.18,141.48,multiply,BTC +2020-04-04,146.53,143.02,141.48,1051434.17,151966376.58,144.53,multiply,BTC +2020-04-05,143.97,141.94,144.53,751599.88,107344500.8,142.82,multiply,BTC +2020-04-06,172.51,154.37,142.82,2591346.45,445136319.82,171.78,multiply,BTC +2020-04-07,171.69,163.84,171.78,2681474.14,441638538.53,164.7,multiply,BTC +2020-04-08,173.28,167.83,164.7,1667960.07,288902140.84,173.21,multiply,BTC +2020-04-09,172.01,169.38,173.21,1256713.57,213503155.75,169.89,multiply,BTC +2020-04-10,160.43,154.79,169.89,2099659.74,332080651.73,158.16,multiply,BTC +2020-04-11,160.14,156.62,158.16,1290503.64,204612645.49,158.55,multiply,BTC +2020-04-12,160.4,157.7,158.55,1196952.53,190086914.77,158.81,multiply,BTC +2020-04-13,158.52,155.09,158.81,1507948.71,236456264.65,156.81,multiply,BTC +2020-04-14,160.08,156.99,156.81,1127461.18,178860313.52,158.64,multiply,BTC +2020-04-15,155.06,151.55,158.64,1292083.72,197615790.67,152.94,multiply,BTC +2020-04-16,175.66,163.21,152.94,2902276.9,500930041.32,172.6,multiply,BTC +2020-04-17,172.13,168.12,172.6,1559084.14,266277387.19,170.79,multiply,BTC +2020-04-18,188.94,176.3,170.79,2201263.33,413517308.96,187.85,multiply,BTC +2020-04-19,185.31,178.32,187.85,1929266.85,347883867.33,180.32,multiply,BTC +2020-04-20,176.88,169.08,180.32,2362597.95,403179001.07,170.65,multiply,BTC +2020-04-21,173.37,170.14,170.65,1526448.92,261076182.64,171.03,multiply,BTC +2020-04-22,183.59,177.67,171.03,1563646.41,286183673.61,183.02,multiply,BTC +2020-04-23,194.8,184.68,183.02,2006279.73,372633155.6,185.73,multiply,BTC +2020-04-24,188.49,186.01,185.73,1279874.65,240182435.87,187.66,multiply,BTC +2020-04-25,195.62,188.14,187.66,1560059.44,303289064.0,194.41,multiply,BTC +2020-04-26,199.85,196.46,194.41,1268339.41,250644973.85,197.62,multiply,BTC +2020-04-27,199.9,194.06,197.62,1311828.77,258049806.65,196.71,multiply,BTC +2020-04-28,197.73,194.78,196.71,1050050.29,206733185.38,196.88,multiply,BTC +2020-04-29,228.15,212.95,196.88,2233529.7,481510851.06,215.58,multiply,BTC +2020-04-30,212.92,204.02,215.58,2277805.97,470224989.05,206.44,multiply,BTC +2020-05-01,215.08,210.75,206.44,1609809.5,341543226.1,212.16,multiply,BTC +2020-05-02,216.98,213.57,212.16,836942.72,179197523.23,214.11,multiply,BTC +2020-05-03,213.68,208.96,214.11,1285181.25,270043070.91,210.12,multiply,BTC +2020-05-04,210.32,202.24,210.12,1539124.39,318236765.14,206.76,multiply,BTC +2020-05-05,211.66,205.34,206.76,981821.87,201692537.2,205.43,multiply,BTC +2020-05-06,211.16,198.81,205.43,1716962.14,341816428.45,199.08,multiply,BTC +2020-05-07,222.3,210.7,199.08,2774249.13,588968967.49,212.3,multiply,BTC +2020-05-08,212.45,207.84,212.3,1911364.63,404185499.74,211.46,multiply,BTC +2020-05-09,210.29,205.13,211.46,1808538.64,380138715.1,210.19,multiply,BTC +2020-05-10,199.16,186.84,210.19,2661983.34,499697462.27,187.72,multiply,BTC +2020-05-11,186.46,179.86,187.72,2203062.33,409270199.69,185.77,multiply,BTC +2020-05-12,192.39,188.33,185.77,1333854.19,253560918.33,190.1,multiply,BTC +2020-05-13,202.28,196.78,190.1,1243792.44,248583222.72,199.86,multiply,BTC +2020-05-14,210.06,200.66,199.86,1956532.07,397775930.68,203.31,multiply,BTC +2020-05-15,197.59,192.57,203.31,1559838.38,303712134.51,194.71,multiply,BTC +2020-05-16,201.92,195.91,194.71,1222798.74,245295750.07,200.6,multiply,BTC +2020-05-17,208.01,202.69,200.6,1035920.54,214183380.54,206.76,multiply,BTC +2020-05-18,216.43,207.29,206.76,1411667.72,303053831.14,214.68,multiply,BTC +2020-05-19,216.63,213.31,214.68,997340.42,214104443.63,214.68,multiply,BTC +2020-05-20,210.54,206.83,214.68,895429.22,187926919.47,209.87,multiply,BTC +2020-05-21,211.42,191.63,209.85,576319.94,115900478.36,198.56,direct, +2020-05-22,208.27,200.2,198.58,983282.11,203883969.7,207.35,multiply,BTC +2020-05-23,209.35,206.32,207.35,765519.54,158295000.8,206.78,multiply,BTC +2020-05-24,201.75,196.17,206.78,966301.7,193178180.87,199.91,multiply,BTC +2020-05-25,206.78,203.67,199.91,984408.69,201016206.46,204.2,multiply,BTC +2020-05-26,203.69,199.97,204.2,932530.14,187471648.97,201.04,multiply,BTC +2020-05-27,211.98,206.46,201.04,800718.49,166790102.34,208.3,multiply,BTC +2020-05-28,220.33,212.09,208.3,1004011.96,221217298.51,220.33,multiply,BTC +2020-05-29,221.95,216.77,220.33,1038042.57,229023699.89,220.63,multiply,BTC +2020-05-30,248.02,226.3,220.63,1647126.21,401336258.16,243.66,multiply,BTC +2020-05-31,239.95,231.16,243.66,1215884.5,281521659.77,231.54,multiply,BTC +2020-06-01,257.73,247.01,231.54,1476844.58,366906124.23,248.44,multiply,BTC +2020-06-02,238.67,230.19,248.44,1514339.16,360122023.75,237.81,multiply,BTC +2020-06-03,245.13,239.52,237.81,642061.77,157079114.17,244.65,multiply,BTC +2020-06-04,246.39,236.28,244.56,372652.43,90413005.89,243.35,direct, +2020-06-05,247.73,239.25,243.35,307295.41,74553973.27,240.08,direct, +2020-06-06,244.48,238.02,240.08,191703.01,46231144.22,242.08,direct, +2020-06-07,245.34,234.97,242.08,350970.89,84241162.44,244.75,direct, +2020-06-08,247.67,241.15,244.75,268906.97,65548033.56,246.47,direct, +2020-06-09,249.85,235.78,246.47,311413.28,75833901.79,244.0,direct, +2020-06-10,250.3,242.38,244.0,354039.1,86962964.42,248.01,direct, +2020-06-11,250.31,225.86,248.01,684189.54,163068331.34,230.21,direct, +2020-06-12,239.28,228.19,230.21,381138.07,89734985.04,237.54,direct, +2020-06-13,238.71,234.61,237.54,158809.72,37591086.28,238.21,direct, +2020-06-14,238.57,229.98,238.21,302824.94,70815323.17,231.61,direct, +2020-06-15,233.75,218.29,231.61,677321.32,153345723.13,230.98,direct, +2020-06-16,236.0,228.88,230.98,293247.62,68381514.54,235.35,direct, +2020-06-17,234.96,232.6,235.31,744081.13,173917879.04,233.74,multiply,BTC +2020-06-18,232.92,229.45,233.74,1183501.49,273554189.76,231.14,multiply,BTC +2020-06-19,229.94,227.06,231.14,554941.24,126984439.23,228.83,multiply,BTC +2020-06-20,231.36,228.36,228.83,444965.44,101863954.88,228.93,multiply,BTC +2020-06-21,229.07,227.02,228.93,398016.61,90728932.75,227.95,multiply,BTC +2020-06-22,246.8,227.39,227.83,541373.26,129354691.96,243.3,direct, +2020-06-23,243.78,240.9,243.26,633854.34,154096213.24,243.11,multiply,BTC +2020-06-24,249.14,230.99,243.16,530864.61,126699284.93,234.56,direct, +2020-06-25,235.12,227.36,234.56,363467.6,84427974.15,232.35,direct, +2020-06-26,230.87,229.23,232.33,765340.24,175646529.66,229.5,multiply,BTC +2020-06-27,226.62,218.42,229.5,869943.51,192053080.2,220.77,multiply,BTC +2020-06-28,226.37,222.36,220.77,713590.85,160427791.91,224.82,multiply,BTC +2020-06-29,228.76,224.35,224.82,986194.45,224693888.65,227.84,multiply,BTC +2020-06-30,227.32,224.21,227.84,760908.56,171575809.95,225.49,multiply,BTC +2020-07-01,231.62,227.28,225.49,822437.95,190036327.93,231.06,multiply,BTC +2020-07-02,227.96,224.96,231.06,1457284.01,330209737.79,226.59,multiply,BTC +2020-07-03,226.66,224.76,226.59,1163308.98,261884352.33,225.12,multiply,BTC +2020-07-04,229.56,226.73,225.12,1114755.74,255496390.55,229.19,multiply,BTC +2020-07-05,228.4,225.58,229.19,1020069.83,232611581.25,228.03,multiply,BTC +2020-07-06,241.9,233.86,228.03,2113903.04,511159054.2,241.81,multiply,BTC +2020-07-07,240.69,233.56,241.81,1358166.45,325137300.06,239.39,multiply,BTC +2020-07-08,248.82,241.45,239.39,1807293.64,446444658.34,247.02,multiply,BTC +2020-07-09,242.98,238.64,247.02,838047.44,202935600.75,242.15,multiply,BTC +2020-07-10,243.55,238.81,242.15,534225.39,128868072.5,241.22,multiply,BTC +2020-07-11,240.35,237.49,241.22,434730.97,104005761.96,239.24,multiply,BTC +2020-07-12,242.94,238.85,239.24,564517.75,136986885.16,242.66,multiply,BTC +2020-07-13,242.96,237.14,242.66,699226.6,167491682.32,239.54,multiply,BTC +2020-07-14,241.77,239.08,239.54,555917.92,133683082.42,240.47,multiply,BTC +2020-07-15,239.3,236.08,240.47,511304.02,121931757.09,238.47,multiply,BTC +2020-07-16,239.17,230.11,238.42,354658.04,82733057.02,233.61,direct, +2020-07-17,234.87,231.67,233.54,513009.25,119410906.81,232.77,multiply,BTC +2020-07-18,237.87,233.1,232.77,449014.83,105902192.47,235.85,multiply,BTC +2020-07-19,239.52,235.28,235.85,493756.5,118084690.77,239.16,multiply,BTC +2020-07-20,239.1,234.61,239.16,613442.59,144874959.58,236.17,multiply,BTC +2020-07-21,247.0,235.78,236.16,392196.91,95966343.65,245.87,direct, +2020-07-22,267.71,247.97,245.62,899421.54,237610574.74,264.18,multiply,BTC +2020-07-23,280.97,260.56,264.32,840629.82,227497042.4,275.65,direct, +2020-07-24,287.68,268.61,275.65,612547.5,170698826.04,279.6,direct, +2020-07-25,309.39,279.6,279.6,744498.83,218403404.71,305.67,direct, +2020-07-26,319.07,300.43,305.67,731791.27,226259900.31,311.47,direct, +2020-07-27,359.78,316.6,311.28,2306242.74,743147491.93,322.23,multiply,BTC +2020-07-28,320.45,311.49,322.23,1676214.68,532201296.09,317.5,multiply,BTC +2020-07-29,326.47,317.03,317.5,1074624.83,341878677.37,318.14,multiply,BTC +2020-07-30,339.86,318.07,318.14,1201599.1,402895123.47,335.3,multiply,BTC +2020-07-31,351.71,340.13,335.3,1351347.36,468835268.22,346.94,multiply,BTC +2020-08-01,391.23,358.51,346.94,1864945.57,722568267.48,387.45,multiply,BTC +2020-08-02,414.95,344.45,387.41,1275109.75,483607413.35,371.93,direct, +2020-08-03,394.79,376.48,371.95,1562985.54,603703192.02,386.25,multiply,BTC +2020-08-04,402.84,381.18,386.1,672905.11,263396168.06,389.79,direct, +2020-08-05,410.38,397.57,389.67,1158334.39,464468861.15,400.98,multiply,BTC +2020-08-06,403.28,392.92,400.98,924612.7,365262534.14,395.04,multiply,BTC +2020-08-07,398.38,365.09,395.07,621342.96,238575183.71,379.57,direct, +2020-08-08,397.58,376.32,379.57,300976.24,116573197.91,397.56,direct, +2020-08-09,400.32,384.27,397.56,333210.44,130828493.0,390.28,direct, +2020-08-10,399.28,390.95,390.32,956341.34,378431781.83,395.71,multiply,BTC +2020-08-11,398.33,366.89,395.84,550483.67,211575268.55,378.94,direct, +2020-08-12,389.5,366.09,378.94,433691.32,165583849.9,387.19,direct, +2020-08-13,431.71,377.01,387.19,812446.96,326856513.91,424.97,direct, +2020-08-14,444.64,418.03,424.97,721487.48,310718163.89,438.51,direct, +2020-08-15,442.89,424.74,438.48,958093.71,414440093.31,432.57,multiply,BTC +2020-08-16,436.95,412.94,432.63,430834.33,183747481.55,433.85,direct, +2020-08-17,447.0,420.72,433.85,508591.11,220294114.98,431.26,direct, +2020-08-18,426.14,415.73,431.28,762840.88,322064343.35,422.19,multiply,BTC +2020-08-19,426.84,394.63,422.38,593539.86,242013764.61,407.85,direct, +2020-08-20,419.09,402.63,407.85,594336.14,245429680.33,416.04,direct, +2020-08-21,418.78,385.2,416.04,833269.52,335992540.64,387.98,direct, +2020-08-22,397.18,379.8,387.98,704832.42,274291152.47,395.46,direct, +2020-08-23,397.58,383.56,395.46,400399.03,156583241.04,390.72,direct, +2020-08-24,410.39,387.72,390.72,668668.61,269045578.82,408.03,direct, +2020-08-25,409.1,370.38,408.03,657420.71,256111120.78,383.34,direct, +2020-08-26,393.33,377.76,383.34,338689.99,130709996.59,386.02,direct, +2020-08-27,387.86,377.32,385.98,841628.48,322334008.91,382.99,multiply,BTC +2020-08-28,398.08,388.28,382.99,713748.95,282317937.64,395.54,multiply,BTC +2020-08-29,404.11,392.52,395.54,623460.61,248727540.47,398.95,multiply,BTC +2020-08-30,430.11,407.15,398.95,990688.35,425180515.49,429.18,multiply,BTC +2020-08-31,436.58,420.61,429.18,1167183.52,506717370.21,434.14,multiply,BTC +2020-09-01,483.63,442.6,434.14,1764604.57,839941536.91,475.99,multiply,BTC +2020-09-02,481.22,421.58,475.81,892744.77,399846874.92,439.83,direct, +2020-09-03,450.71,374.19,439.83,1147290.59,473102908.76,382.46,direct, +2020-09-04,400.18,364.11,382.46,622038.92,239570368.52,385.91,direct, +2020-09-05,394.66,310.93,385.91,1499688.45,522017043.23,335.24,direct, +2020-09-06,360.31,316.82,335.24,958760.77,327280613.14,352.69,direct, +2020-09-07,358.54,323.67,352.69,693531.32,238264362.56,353.7,direct, +2020-09-08,356.57,325.75,353.7,655015.89,222558039.13,337.45,direct, +2020-09-09,359.2,331.01,337.45,547236.41,190044274.6,351.15,direct, +2020-09-10,377.54,350.44,351.15,674808.42,248139178.76,368.09,direct, +2020-09-11,375.31,356.15,368.09,441319.3,161816528.74,373.99,direct, +2020-09-12,388.14,369.96,374.03,698082.56,270883063.04,388.04,multiply,BTC +2020-09-13,383.85,357.71,388.04,1034609.9,378959151.0,366.28,multiply,BTC +2020-09-14,382.82,370.75,366.28,1111989.07,419514214.33,377.26,multiply,BTC +2020-09-15,382.28,362.54,377.26,872072.14,317572911.45,364.16,multiply,BTC +2020-09-16,370.9,363.23,364.16,779983.24,284764527.24,365.09,multiply,BTC +2020-09-17,394.57,364.04,365.09,1409168.77,548924125.68,389.54,multiply,BTC +2020-09-18,391.69,379.76,389.54,1017844.84,391327582.63,384.47,multiply,BTC +2020-09-19,389.7,382.61,384.47,646138.01,248935189.81,385.27,multiply,BTC +2020-09-20,380.84,369.05,385.27,717282.81,266122857.13,371.02,multiply,BTC +2020-09-21,376.42,332.74,371.06,675272.56,235743740.73,340.19,direct, +2020-09-22,346.8,335.89,340.19,387847.54,132686320.89,344.25,direct, +2020-09-23,344.61,314.7,344.25,492135.39,163392957.36,320.19,direct, +2020-09-24,352.84,317.14,320.19,530250.06,178780604.82,349.18,direct, +2020-09-25,358.04,338.01,349.18,455676.68,158007481.04,352.02,direct, +2020-09-26,355.52,348.76,352.05,517452.21,183296884.19,354.23,multiply,BTC +2020-09-27,361.72,353.42,354.23,548129.55,196081931.5,357.73,multiply,BTC +2020-09-28,368.15,352.09,357.67,338025.49,122046214.19,354.01,direct, +2020-09-29,360.59,350.49,354.01,301692.93,107212650.86,359.92,direct, +2020-09-30,361.43,355.4,359.82,519993.66,187102579.35,359.82,multiply,BTC +2020-10-01,359.37,350.66,359.82,679105.54,239865351.68,353.21,multiply,BTC +2020-10-02,354.28,334.71,353.09,405076.24,138979278.48,345.83,direct, +2020-10-03,349.91,344.31,345.96,403367.62,139693448.38,346.32,multiply,BTC +2020-10-04,353.57,348.34,346.32,336496.16,118652727.18,352.61,multiply,BTC +2020-10-05,357.64,353.32,352.61,392691.17,138916761.21,353.76,multiply,BTC +2020-10-06,355.32,336.93,353.84,324629.12,112291749.41,340.85,direct, +2020-10-07,342.87,333.27,340.85,341462.64,115694720.97,341.91,direct, +2020-10-08,353.4,334.35,341.91,295984.38,102219748.95,351.2,direct, +2020-10-09,368.51,347.19,351.2,336130.72,120746450.13,365.41,direct, +2020-10-10,378.52,365.2,365.41,253908.73,94915521.94,370.88,direct, +2020-10-11,376.42,371.75,370.8,405554.05,151826472.42,374.37,multiply,BTC +2020-10-12,395.22,365.82,374.4,369132.22,140830030.43,386.91,direct, +2020-10-13,387.82,374.78,386.91,255939.5,97704716.98,381.41,direct, +2020-10-14,384.25,377.28,381.21,478125.8,181262215.14,379.11,multiply,BTC +2020-10-15,383.69,377.36,379.11,591728.69,223497544.12,377.7,multiply,BTC +2020-10-16,379.9,361.57,377.82,318744.72,117467322.34,365.58,direct, +2020-10-17,369.11,366.27,365.72,322825.81,119010667.66,368.65,multiply,BTC +2020-10-18,379.59,372.8,368.65,359498.81,136049864.63,378.44,multiply,BTC +2020-10-19,384.42,373.04,378.44,257142.52,97474550.54,379.41,direct, +2020-10-20,386.03,367.91,379.39,859418.6,316902577.83,368.74,multiply,BTC +2020-10-21,401.78,368.19,368.83,731278.91,283451951.4,391.46,direct, +2020-10-22,421.25,391.34,391.46,567385.97,232628091.79,414.5,direct, +2020-10-23,419.47,401.93,414.5,330934.12,136314943.28,409.57,direct, +2020-10-24,418.85,410.45,409.59,455908.25,188086893.4,412.55,multiply,BTC +2020-10-25,411.97,406.1,412.55,415309.34,168766807.67,406.36,multiply,BTC +2020-10-26,411.39,382.64,406.3,405412.22,160975600.73,393.11,direct, +2020-10-27,410.25,390.4,393.11,264061.94,105902450.86,403.74,direct, +2020-10-28,409.35,381.06,403.74,192392.15,75394842.45,388.77,direct, +2020-10-29,393.98,380.87,388.77,249693.18,97143305.34,387.54,direct, +2020-10-30,392.05,374.08,387.54,379042.31,144640027.44,382.76,direct, +2020-10-31,392.57,385.67,382.83,547916.74,211918605.81,386.77,multiply,BTC +2020-11-01,397.71,385.6,386.77,850038.51,337253108.32,396.75,multiply,BTC +2020-11-02,404.39,378.67,396.49,347549.1,135741837.5,383.61,direct, +2020-11-03,398.14,388.18,383.66,341553.65,132583691.44,388.18,multiply,BTC +2020-11-04,408.58,377.14,388.17,254271.89,100082927.23,402.66,direct, +2020-11-05,420.74,397.1,402.66,257653.91,105310367.9,416.89,direct, +2020-11-06,458.22,415.41,416.89,374046.51,164108426.67,456.32,direct, +2020-11-07,468.04,426.27,456.32,353304.45,158253714.77,435.82,direct, +2020-11-08,460.03,432.87,435.82,169586.34,75984233.86,454.74,direct, +2020-11-09,458.75,434.54,454.74,230777.2,103452706.39,444.45,direct, +2020-11-10,455.07,439.44,444.45,206511.07,92709328.95,450.86,direct, +2020-11-11,476.65,449.95,450.86,507733.44,236182074.76,463.91,direct, +2020-11-12,470.4,452.69,463.91,419454.5,193184163.08,462.78,direct, +2020-11-13,477.97,458.1,462.78,408493.75,191393679.41,476.87,direct, +2020-11-14,477.76,452.26,476.87,303539.72,140465129.76,461.03,direct, +2020-11-15,463.02,440.46,461.03,256400.31,115840989.63,448.51,direct, +2020-11-16,471.55,458.84,448.45,662300.65,305327654.61,461.01,multiply,BTC +2020-11-17,495.61,475.46,461.01,1029579.0,496984004.02,482.71,multiply,BTC +2020-11-18,495.03,458.58,482.73,699555.59,334999694.91,478.76,direct, +2020-11-19,482.16,468.97,478.81,887917.88,418935834.36,471.82,multiply,BTC +2020-11-20,514.38,471.19,471.89,759082.86,379278054.3,510.43,direct, +2020-11-21,553.11,503.09,510.43,741748.0,392076756.29,552.26,direct, +2020-11-22,581.05,513.33,552.26,964066.75,530834818.6,560.01,direct, +2020-11-23,610.75,550.31,560.01,1068086.27,628512665.29,609.13,direct, +2020-11-24,645.6,590.23,609.12,2001953.72,1211148193.21,604.98,multiply,BTC +2020-11-25,606.1,554.92,605.05,688409.44,404296921.42,569.4,direct, +2020-11-26,576.94,482.39,569.4,1576644.23,810828523.33,520.22,direct, +2020-11-27,531.01,494.78,520.22,648018.44,332244579.12,518.83,direct, +2020-11-28,548.25,507.33,518.83,469956.47,248369034.48,537.99,direct, +2020-11-29,576.77,531.08,537.99,419301.11,231983170.72,576.0,direct, +2020-11-30,616.29,571.15,576.0,896172.25,535467109.2,616.14,direct, +2020-12-01,636.06,566.47,616.14,1268939.21,762366851.43,586.23,direct, +2020-12-02,604.64,576.61,586.23,532202.31,314984220.64,598.26,direct, +2020-12-03,623.7,586.55,598.26,520711.18,316868104.63,616.55,direct, +2020-12-04,620.5,566.14,616.55,622236.62,369234314.74,567.67,direct, +2020-12-05,599.99,580.64,567.79,750251.2,447845298.9,596.93,multiply,BTC +2020-12-06,610.44,599.0,596.93,659997.39,397514748.44,602.3,multiply,BTC +2020-12-07,602.49,587.53,602.3,645874.83,381946393.32,591.36,multiply,BTC +2020-12-08,595.17,549.12,591.53,537079.56,307106189.41,554.82,direct, +2020-12-09,577.8,530.82,554.82,749281.63,418399444.97,573.44,direct, +2020-12-10,575.27,548.52,573.44,354098.49,198710326.68,558.36,direct, +2020-12-11,560.35,535.92,558.36,569602.04,310867291.92,544.14,direct, +2020-12-12,574.11,543.48,544.14,297399.48,166540219.65,568.26,direct, +2020-12-13,595.05,563.87,568.26,346124.44,201829035.68,590.72,direct, +2020-12-14,591.45,575.93,590.72,277062.65,162125862.95,586.35,direct, +2020-12-15,596.93,579.25,586.35,293205.54,172371762.61,589.17,direct, +2020-12-16,638.73,581.3,589.17,808780.64,497086861.72,637.74,direct, +2020-12-17,675.88,627.08,637.74,1349219.92,878651645.58,643.16,direct, +2020-12-18,664.2,629.63,643.16,528429.46,341755740.38,654.55,direct, +2020-12-19,669.79,646.4,654.55,514459.89,338530489.08,658.7,direct, +2020-12-20,661.05,621.84,658.7,477979.98,308930175.05,638.17,direct, +2020-12-21,647.83,596.6,638.17,785220.42,486584732.86,607.9,direct, +2020-12-22,637.85,587.94,607.9,564395.67,347239331.3,637.23,direct, +2020-12-23,638.29,552.44,637.23,839668.75,506935177.53,585.25,direct, +2020-12-24,614.84,565.82,585.25,503685.19,295864857.77,612.32,direct, +2020-12-25,633.8,604.38,612.32,473363.94,292795859.77,626.83,direct, +2020-12-26,651.93,615.66,626.83,551377.41,350294888.79,636.07,direct, +2020-12-27,714.04,625.57,636.07,1251438.81,842878848.15,683.98,direct, +2020-12-28,746.88,681.29,683.98,1077695.67,781168475.41,729.59,direct, +2020-12-29,739.39,688.87,729.59,708399.11,507583628.28,731.55,direct, +2020-12-30,758.27,717.54,731.55,670985.03,495447971.32,752.53,direct, +2020-12-31,755.68,722.92,752.53,548855.97,405487796.36,737.15,direct, +2021-01-01,749.71,717.14,737.15,436164.48,320856381.75,730.6,direct, +2021-01-02,788.27,716.71,730.6,904953.39,688632713.33,774.9,direct, +2021-01-03,1011.81,770.07,774.9,2200163.67,1987810339.53,978.69,direct, +2021-01-04,1163.36,889.78,978.69,2903509.97,2941908637.58,1043.16,direct, +2021-01-05,1133.9,975.69,1043.16,2076858.97,2209100382.41,1103.19,direct, +2021-01-06,1214.12,1059.19,1103.19,2484714.82,2817165249.56,1210.59,direct, +2021-01-07,1290.46,1151.6,1210.59,1601329.3,1957429185.72,1225.5,direct, +2021-01-08,1273.69,1067.33,1225.5,1767634.41,2103290577.04,1216.98,direct, +2021-01-09,1307.77,1173.77,1216.98,997317.78,1234090079.14,1279.96,direct, +2021-01-10,1350.09,1163.66,1279.96,1503199.13,1931453689.24,1255.72,direct, +2021-01-11,1259.54,912.42,1255.72,3649323.14,3831991768.04,1088.37,direct, +2021-01-12,1149.87,1007.68,1088.37,1521509.38,1647583878.23,1050.04,direct, +2021-01-13,1136.66,985.32,1050.04,1182504.51,1262994625.32,1129.84,direct, +2021-01-14,1246.36,1087.39,1129.84,1151856.9,1349158455.8,1232.11,direct, +2021-01-15,1255.19,1069.37,1232.11,1395002.47,1643038085.27,1169.06,direct, +2021-01-16,1293.2,1152.92,1169.06,1020332.59,1250938805.76,1228.52,direct, +2021-01-17,1269.49,1166.6,1228.52,783042.23,957632921.26,1233.73,direct, +2021-01-18,1260.68,1183.78,1233.73,663535.05,813409622.3,1258.31,direct, +2021-01-19,1439.37,1252.78,1258.31,1607009.53,2197247666.73,1367.65,direct, +2021-01-20,1408.06,1234.88,1367.65,1362169.39,1802865032.38,1377.75,direct, +2021-01-21,1389.04,1086.55,1377.75,1941246.58,2374156404.45,1111.49,direct, +2021-01-22,1275.45,1044.92,1111.49,1781416.3,2068128154.63,1234.56,direct, +2021-01-23,1272.57,1197.55,1234.56,617746.69,766118780.58,1234.1,direct, +2021-01-24,1400.2,1221.78,1234.1,1164242.17,1540273353.15,1392.45,direct, +2021-01-25,1475.49,1296.02,1392.45,1477949.16,2072432387.85,1318.47,direct, +2021-01-26,1378.06,1246.49,1318.47,1325006.34,1749379399.61,1368.22,direct, +2021-01-27,1374.39,1207.77,1368.22,1409050.67,1798477778.92,1241.51,direct, +2021-01-28,1361.36,1220.48,1241.51,1035138.63,1368788914.36,1330.78,direct, +2021-01-29,1442.14,1287.5,1330.78,1622581.39,2215293756.32,1379.13,direct, +2021-01-30,1406.51,1326.9,1379.13,585864.43,798440634.01,1379.35,direct, +2021-01-31,1381.53,1283.77,1379.35,492089.73,653725686.92,1314.18,direct, +2021-02-01,1377.77,1271.68,1314.18,585469.21,774664819.38,1374.57,direct, +2021-02-02,1549.2,1361.84,1374.57,1325932.08,1932069095.73,1513.9,direct, +2021-02-03,1670.87,1510.16,1513.9,1156693.15,1832159523.59,1667.22,direct, +2021-02-04,1697.97,1558.06,1667.22,1172256.64,1921213581.05,1597.44,direct, +2021-02-05,1762.23,1592.92,1597.44,963997.03,1626954142.52,1721.48,direct, +2021-02-06,1744.33,1648.46,1721.48,765790.73,1293997066.53,1679.14,direct, +2021-02-07,1694.5,1494.84,1679.14,929611.92,1480130359.34,1614.64,direct, +2021-02-08,1779.25,1565.98,1614.64,1166827.02,1975321767.53,1752.87,direct, +2021-02-09,1824.66,1710.46,1752.87,894749.11,1573102089.36,1772.05,direct, +2021-02-10,1838.93,1680.58,1772.05,959891.91,1691442085.33,1743.0,direct, +2021-02-11,1818.43,1705.77,1743.0,589410.57,1043919213.74,1787.69,direct, +2021-02-12,1867.1,1741.17,1787.69,750882.93,1354431182.3,1844.84,direct, +2021-02-13,1875.55,1765.87,1844.84,522573.28,950428277.14,1817.48,direct, +2021-02-14,1852.06,1786.75,1817.48,423533.72,772757223.36,1802.96,direct, +2021-02-15,1836.25,1661.33,1802.96,919696.6,1616101004.74,1779.4,direct, +2021-02-16,1825.9,1726.66,1779.4,608093.81,1081268304.83,1782.83,direct, +2021-02-17,1856.88,1734.79,1782.83,565395.25,1021991301.71,1851.14,direct, +2021-02-18,1950.03,1850.93,1851.14,624859.46,1193546506.61,1939.61,direct, +2021-02-19,1973.92,1891.32,1939.61,603867.66,1170439220.78,1957.47,direct, +2021-02-20,2038.52,1819.36,1957.47,968370.26,1903964736.95,1915.12,direct, +2021-02-21,1975.88,1885.62,1915.12,413929.05,802733653.42,1935.14,direct, +2021-02-22,1937.57,1446.99,1935.14,1512841.22,2656835977.99,1778.07,direct, +2021-02-23,1781.51,1360.96,1778.07,2496275.35,3829356462.28,1578.19,direct, +2021-02-24,1713.25,1500.94,1578.19,1086421.38,1769603424.19,1625.17,direct, +2021-02-25,1672.23,1459.54,1625.17,803691.98,1278762281.98,1481.88,direct, +2021-02-26,1563.11,1400.53,1481.88,1036113.25,1529005290.71,1446.1,direct, +2021-02-27,1526.93,1426.45,1446.1,585399.45,867562033.49,1460.23,direct, +2021-02-28,1469.7,1294.05,1460.23,1156430.89,1583883301.69,1422.58,direct, +2021-03-01,1572.92,1413.28,1422.58,800017.26,1205752163.07,1571.49,direct, +2021-03-02,1604.11,1456.73,1571.49,590267.55,906296855.1,1488.67,direct, +2021-03-03,1657.11,1477.82,1488.67,577883.81,917252731.88,1568.65,direct, +2021-03-04,1625.02,1505.61,1568.65,657432.27,1023294046.59,1538.37,direct, +2021-03-05,1549.35,1443.48,1538.37,708293.26,1053353462.19,1529.75,direct, +2021-03-06,1670.56,1514.5,1529.75,730694.87,1162129783.44,1651.48,direct, +2021-03-07,1734.52,1631.59,1651.48,449616.47,750450852.99,1726.33,direct, +2021-03-08,1842.9,1666.76,1726.33,687732.85,1199163171.81,1834.48,direct, +2021-03-09,1872.1,1799.85,1834.48,512339.31,939208423.11,1872.1,direct, +2021-03-10,1878.68,1758.02,1872.1,725975.31,1320531852.38,1795.63,direct, +2021-03-11,1846.24,1726.09,1795.63,537879.47,964788578.61,1827.06,direct, +2021-03-12,1842.03,1722.01,1827.06,548553.31,972065732.17,1767.77,direct, +2021-03-13,1943.37,1728.87,1767.77,592461.56,1104075445.89,1921.18,direct, +2021-03-14,1931.77,1837.82,1921.18,367039.57,690832715.33,1848.69,direct, +2021-03-15,1891.24,1735.53,1848.69,781036.17,1403489044.83,1794.83,direct, +2021-03-16,1819.57,1716.2,1794.83,624327.03,1108536467.78,1805.64,direct, +2021-03-17,1838.35,1742.81,1805.64,629261.22,1129204045.53,1823.03,direct, +2021-03-18,1849.5,1759.7,1823.03,406758.7,735764945.49,1776.16,direct, +2021-03-19,1840.66,1734.36,1776.16,324695.13,584649417.76,1809.76,direct, +2021-03-20,1868.98,1800.95,1809.76,272549.21,500262459.33,1805.49,direct, +2021-03-21,1817.33,1747.94,1805.49,343447.52,612374090.22,1783.94,direct, +2021-03-22,1807.19,1657.58,1783.94,496567.29,861293326.85,1682.05,direct, +2021-03-23,1721.69,1652.19,1682.05,392868.19,664606148.51,1668.69,direct, +2021-03-24,1740.3,1546.93,1668.69,773811.51,1282635340.24,1583.24,direct, +2021-03-25,1621.59,1549.08,1583.24,532202.27,845403275.47,1586.98,direct, +2021-03-26,1700.19,1586.8,1586.98,398023.77,653006855.68,1699.89,direct, +2021-03-27,1732.36,1667.18,1699.89,240514.86,409407275.39,1713.94,direct, +2021-03-28,1725.59,1662.16,1713.94,203653.93,345610376.43,1686.74,direct, +2021-03-29,1840.88,1676.68,1686.74,485643.56,861718830.25,1816.48,direct, +2021-03-30,1859.58,1786.81,1816.48,321661.61,588402836.48,1841.4,direct, +2021-03-31,1947.27,1772.26,1841.4,574695.62,1070069136.01,1919.08,direct, +2021-04-01,1982.01,1888.82,1919.08,452661.12,878675921.08,1967.67,direct, +2021-04-02,2144.04,1949.57,1967.67,575612.31,1171559202.46,2134.46,direct, +2021-04-03,2138.57,2002.95,2134.46,465878.89,966547451.67,2009.19,direct, +2021-04-04,2092.26,1981.36,2009.19,268891.15,549224714.37,2076.62,direct, +2021-04-05,2130.42,2003.31,2076.62,350641.1,729654195.02,2107.73,direct, +2021-04-06,2150.74,2045.94,2107.73,469974.9,990663666.13,2112.29,direct, +2021-04-07,2128.54,1931.07,2112.29,623594.91,1252547038.35,1964.18,direct, +2021-04-08,2084.31,1950.13,1964.18,305197.37,619720134.67,2081.11,direct, +2021-04-09,2100.0,2049.84,2081.11,300783.89,624512595.28,2066.55,direct, +2021-04-10,2195.55,2057.75,2066.55,415765.82,889892660.09,2133.82,direct, +2021-04-11,2163.6,2113.71,2133.82,208018.65,445144430.2,2150.54,direct, +2021-04-12,2200.09,2102.81,2150.54,321554.58,690437458.28,2137.79,direct, +2021-04-13,2314.02,2136.24,2137.79,542269.51,1214602558.5,2298.66,direct, +2021-04-14,2446.07,2282.77,2298.66,691403.42,1631081340.89,2431.86,direct, +2021-04-15,2545.89,2401.07,2431.86,531393.8,1311251415.24,2517.08,direct, +2021-04-16,2547.4,2306.2,2517.08,691735.22,1677614061.1,2425.96,direct, +2021-04-17,2496.71,2315.76,2425.96,439527.77,1057642278.34,2318.01,direct, +2021-04-18,2339.37,1976.71,2318.01,1237429.53,2686887831.66,2240.96,direct, +2021-04-19,2281.08,2071.54,2240.96,712383.89,1554224533.41,2163.36,direct, +2021-04-20,2348.17,2055.51,2163.36,861229.69,1886717479.23,2332.45,direct, +2021-04-21,2469.05,2238.47,2332.45,834316.0,1971928079.96,2357.59,direct, +2021-04-22,2644.5,2310.62,2357.59,1338689.99,3319342457.7,2401.35,direct, +2021-04-23,2441.96,2096.0,2401.35,1532966.63,3462302445.7,2369.67,direct, +2021-04-24,2370.67,2159.64,2369.67,545795.93,1232014469.73,2216.56,direct, +2021-04-25,2357.02,2166.7,2216.56,692277.45,1563493601.18,2322.14,direct, +2021-04-26,2542.23,2306.94,2322.14,742616.36,1831381585.37,2534.9,direct, +2021-04-27,2681.47,2485.34,2534.9,607149.72,1576533318.02,2667.93,direct, +2021-04-28,2761.78,2560.07,2667.93,823472.94,2211100347.39,2750.91,direct, +2021-04-29,2799.55,2672.02,2750.91,617743.29,1693692607.67,2758.46,direct, +2021-04-30,2799.6,2727.7,2758.46,422851.03,1166672092.0,2775.96,direct, +2021-05-01,2954.54,2757.04,2775.96,458591.96,1319269388.69,2947.8,direct, +2021-05-02,2985.05,2856.3,2947.8,343732.99,1007547549.64,2951.98,direct, +2021-05-03,3455.66,2951.85,2951.98,1138802.12,3650014191.34,3431.41,direct, +2021-05-04,3531.04,3185.01,3431.41,1452703.51,4856094057.96,3241.09,direct, +2021-05-05,3549.08,3208.25,3241.09,884171.46,2987271855.25,3528.86,direct, +2021-05-06,3607.98,3381.46,3528.86,778852.98,2723700342.59,3491.74,direct, +2021-05-07,3592.46,3360.6,3491.74,578858.34,2017976762.42,3483.96,direct, +2021-05-08,3959.92,3454.89,3483.96,669610.72,2489085350.71,3916.25,direct, +2021-05-09,3982.33,3730.53,3916.25,623594.65,2421772525.96,3927.06,direct, +2021-05-10,4210.05,3712.47,3927.06,1190037.55,4805160991.1,3949.77,direct, +2021-05-11,4182.26,3770.53,3949.77,790117.42,3146654572.85,4178.02,direct, +2021-05-12,4379.79,3777.24,4178.02,1321151.72,5489764411.82,3811.29,direct, +2021-05-13,4045.28,3546.6,3811.29,1632743.76,6173576604.52,3718.99,direct, +2021-05-14,4176.42,3696.24,3718.99,681070.26,2713948078.85,4080.13,direct, +2021-05-15,4133.56,3634.39,4080.13,690233.62,2665190551.47,3644.04,direct, +2021-05-16,3879.08,3350.54,3644.04,1031364.39,3696212448.72,3586.18,direct, +2021-05-17,3590.01,3117.41,3586.18,1474599.06,4924404061.32,3280.73,direct, +2021-05-18,3564.97,3242.5,3280.73,979392.26,3346074529.75,3377.65,direct, +2021-05-19,3441.2,1947.97,3377.65,3555126.89,9657968555.96,2442.89,direct, +2021-05-20,2996.39,2162.9,2442.89,2086633.64,5492948402.81,2772.84,direct, +2021-05-21,2939.92,2107.47,2772.84,1890815.86,4714736714.8,2435.86,direct, +2021-05-22,2486.25,2158.17,2435.86,1421431.75,3320459994.89,2297.03,direct, +2021-05-23,2382.3,1736.21,2297.03,2464645.1,4985757879.79,2098.57,direct, +2021-05-24,2675.29,2081.99,2098.57,1906727.17,4567480766.29,2648.77,direct, +2021-05-25,2755.91,2387.23,2648.77,1514977.65,3915916814.09,2707.49,direct, +2021-05-26,2912.07,2648.47,2707.49,1102350.01,3067471922.96,2888.94,direct, +2021-05-27,2891.49,2641.48,2888.94,825746.35,2281995472.98,2742.48,direct, +2021-05-28,2761.88,2334.05,2742.48,1350168.83,3418586712.49,2412.36,direct, +2021-05-29,2573.27,2208.58,2412.36,1080128.04,2557596064.82,2278.58,direct, +2021-05-30,2475.92,2182.6,2278.58,976153.03,2311564285.7,2386.91,direct, +2021-05-31,2718.67,2274.99,2386.91,871042.27,2183404966.43,2707.38,direct, +2021-06-01,2742.61,2529.17,2707.38,719587.48,1882287507.52,2634.23,direct, +2021-06-02,2801.72,2553.06,2634.23,590403.58,1593115620.38,2706.52,direct, +2021-06-03,2889.66,2663.83,2706.52,630583.32,1767131489.54,2856.01,direct, +2021-06-04,2859.2,2554.63,2856.01,697975.45,1870054033.42,2691.17,direct, +2021-06-05,2816.78,2553.73,2691.17,570354.57,1523173179.92,2629.76,direct, +2021-06-06,2745.12,2615.9,2629.76,345624.87,930314354.19,2710.99,direct, +2021-06-07,2847.92,2574.68,2710.99,635977.9,1734370558.93,2593.12,direct, +2021-06-08,2621.22,2310.58,2593.12,1049561.45,2594319741.23,2509.23,direct, +2021-06-09,2626.22,2407.88,2509.23,719386.66,1819177646.94,2610.64,direct, +2021-06-10,2624.05,2428.83,2610.64,403228.88,1018177774.01,2471.56,direct, +2021-06-11,2497.64,2322.3,2471.56,408138.02,988630797.95,2355.09,direct, +2021-06-12,2452.14,2259.36,2355.09,379128.5,891766601.89,2369.62,direct, +2021-06-13,2549.74,2310.29,2369.62,364534.68,882400625.24,2509.7,direct, +2021-06-14,2608.81,2462.27,2509.7,388978.97,985454994.26,2582.12,direct, +2021-06-15,2639.89,2507.88,2582.12,343235.2,884043051.65,2543.6,direct, +2021-06-16,2554.51,2351.52,2543.6,403684.37,986488084.54,2367.7,direct, +2021-06-17,2458.97,2306.4,2367.7,364787.43,866421709.08,2372.31,direct, +2021-06-18,2377.33,2135.22,2372.31,531451.42,1193362399.58,2233.57,direct, +2021-06-19,2278.35,2164.05,2233.57,321968.53,715881808.7,2166.61,direct, +2021-06-20,2276.61,2043.74,2166.61,491490.81,1057105893.49,2243.6,direct, +2021-06-21,2259.39,1870.01,2243.6,1396642.92,2759117557.28,1887.89,direct, +2021-06-22,1998.75,1705.78,1887.89,1703182.02,3161540297.98,1880.83,direct, +2021-06-23,2044.91,1827.2,1880.83,714905.63,1416402416.38,1968.56,direct, +2021-06-24,2034.57,1886.17,1968.56,448512.52,882504031.49,1989.01,direct, +2021-06-25,2019.45,1791.99,1989.01,882983.22,1653237866.52,1810.27,direct, +2021-06-26,1851.36,1717.91,1810.27,575329.88,1021387751.81,1830.94,direct, +2021-06-27,1984.58,1808.2,1830.94,583203.44,1092710033.78,1983.33,direct, +2021-06-28,2143.6,1961.83,1983.33,638008.18,1308344183.96,2083.8,direct, +2021-06-29,2245.38,2075.64,2083.8,455104.86,990499298.9,2165.61,direct, +2021-06-30,2287.05,2089.55,2165.61,518346.72,1128164730.61,2276.14,direct, +2021-07-01,2277.05,2074.67,2276.14,499798.16,1069055464.26,2109.29,direct, +2021-07-02,2159.25,2018.32,2109.29,411011.61,855546242.98,2155.65,direct, +2021-07-03,2238.77,2113.24,2155.65,233568.59,511756918.09,2227.18,direct, +2021-07-04,2387.73,2190.78,2227.18,297638.95,690333030.43,2323.27,direct, +2021-07-05,2323.53,2159.57,2323.27,364621.13,817032182.71,2196.71,direct, +2021-07-06,2349.66,2194.97,2196.71,371318.48,852673341.75,2322.63,direct, +2021-07-07,2408.53,2294.71,2322.63,327127.26,771174149.51,2317.12,direct, +2021-07-08,2324.72,2084.63,2317.12,766987.58,1669543858.83,2114.51,direct, +2021-07-09,2186.26,2048.12,2114.51,594562.44,1261710486.51,2145.67,direct, +2021-07-10,2190.77,2075.55,2145.67,254162.69,539204127.95,2110.47,direct, +2021-07-11,2173.19,2081.93,2110.47,158610.1,337296664.18,2140.45,direct, +2021-07-12,2168.12,2007.79,2140.45,343756.4,713106274.89,2032.88,direct, +2021-07-13,2046.08,1917.9,2032.88,407842.5,808408679.47,1940.61,direct, +2021-07-14,2019.42,1866.25,1940.61,389974.78,758228459.63,1994.22,direct, +2021-07-15,2039.24,1881.4,1994.22,443146.82,858515598.28,1918.17,direct, +2021-07-16,1964.79,1850.35,1918.17,358403.19,682133152.13,1877.05,direct, +2021-07-17,1918.93,1849.84,1877.05,279072.61,526262391.22,1899.96,direct, +2021-07-18,1993.26,1881.84,1899.96,291029.97,563444548.7,1891.96,direct, +2021-07-19,1918.43,1806.49,1891.96,409977.3,755083019.62,1818.6,direct, +2021-07-20,1840.59,1720.11,1818.6,640378.57,1129313606.55,1786.52,direct, +2021-07-21,2030.25,1755.61,1786.52,582170.14,1115295604.75,1994.98,direct, +2021-07-22,2046.29,1949.15,1994.98,382331.84,764626427.4,2024.74,direct, +2021-07-23,2131.09,1997.36,2024.74,352598.68,724351214.33,2125.57,direct, +2021-07-24,2199.99,2107.47,2125.57,371801.43,800523696.67,2185.98,direct, +2021-07-25,2197.07,2109.21,2185.98,225699.63,486982701.92,2194.34,direct, +2021-07-26,2430.27,2175.42,2194.34,755760.16,1749133447.44,2228.67,direct, +2021-07-27,2319.63,2152.97,2228.67,503449.86,1127164753.79,2301.98,direct, +2021-07-28,2346.53,2245.77,2301.98,384405.14,883372200.32,2301.12,direct, +2021-07-29,2398.97,2268.67,2301.12,288398.83,669545747.5,2383.24,direct, +2021-07-30,2471.75,2318.5,2383.24,417083.79,998308862.77,2463.61,direct, +2021-07-31,2553.71,2422.41,2463.61,257758.42,638035305.39,2531.75,direct, +2021-08-01,2698.09,2513.63,2531.75,541191.87,1405547764.41,2556.41,direct, +2021-08-02,2666.13,2507.76,2556.41,490026.06,1270507490.79,2608.44,direct, +2021-08-03,2632.24,2447.32,2608.44,478917.91,1201033361.49,2508.21,direct, +2021-08-04,2770.24,2458.12,2508.21,450683.38,1182974472.34,2725.72,direct, +2021-08-05,2844.03,2536.51,2725.72,676232.43,1840893881.29,2829.23,direct, +2021-08-06,2949.04,2722.76,2829.23,564433.29,1602017697.15,2892.36,direct, +2021-08-07,3172.52,2866.96,2892.36,628647.21,1916399198.61,3162.43,direct, +2021-08-08,3190.38,2949.65,3162.43,406534.58,1246845074.97,3013.75,direct, +2021-08-09,3187.64,2895.74,3013.75,586525.71,1814885554.8,3164.94,direct, +2021-08-10,3233.77,3053.01,3164.94,518525.95,1628100044.55,3141.67,direct, +2021-08-11,3274.22,3123.08,3141.67,429196.89,1379418397.59,3163.42,direct, +2021-08-12,3239.16,2981.32,3163.42,512136.49,1580516998.17,3047.29,direct, +2021-08-13,3328.83,3035.99,3047.29,447889.8,1440675493.43,3324.26,direct, +2021-08-14,3332.19,3208.8,3324.26,232982.78,761182928.57,3266.71,direct, +2021-08-15,3323.3,3115.33,3266.71,311469.23,999629719.78,3311.12,direct, +2021-08-16,3337.45,3137.59,3311.12,372474.25,1207480563.4,3147.63,direct, +2021-08-17,3292.09,2994.41,3147.63,516276.32,1624081267.21,3011.96,direct, +2021-08-18,3125.9,2952.86,3011.96,382354.88,1162842776.74,3013.52,direct, +2021-08-19,3187.36,2963.91,3013.52,348727.03,1067409385.98,3184.74,direct, +2021-08-20,3301.32,3179.27,3184.74,373266.47,1211687408.42,3286.5,direct, +2021-08-21,3310.73,3208.73,3286.5,213473.54,697445564.75,3226.59,direct, +2021-08-22,3274.41,3130.12,3226.59,203966.43,653906471.77,3241.65,direct, +2021-08-23,3378.69,3234.59,3241.65,376372.05,1251116527.27,3322.71,direct, +2021-08-24,3359.79,3150.96,3322.71,310672.97,1008586226.64,3172.57,direct, +2021-08-25,3248.84,3080.23,3172.57,309242.57,982903687.8,3228.86,direct, +2021-08-26,3251.2,3059.7,3228.86,294003.64,917871423.67,3093.62,direct, +2021-08-27,3282.69,3057.59,3093.62,334369.04,1066589734.58,3275.87,direct, +2021-08-28,3287.97,3212.9,3275.87,135749.78,440641512.36,3246.78,direct, +2021-08-29,3287.2,3154.86,3246.78,186146.45,598363684.17,3225.3,direct, +2021-08-30,3348.62,3146.73,3225.3,412458.94,1341591930.15,3228.46,direct, +2021-08-31,3480.11,3190.71,3228.46,572973.24,1922788188.74,3435.17,direct, +2021-09-01,3841.79,3385.05,3435.17,596759.09,2152466889.63,3829.18,direct, +2021-09-02,3837.51,3724.1,3829.18,360090.0,1360330757.88,3787.7,direct, +2021-09-03,4026.86,3712.13,3787.7,517330.35,2016700978.59,3939.79,direct, +2021-09-04,3969.89,3835.04,3939.79,230192.53,898914227.68,3887.01,direct, +2021-09-05,3982.63,3835.93,3887.01,212345.73,832602701.76,3952.33,direct, +2021-09-06,3971.74,3872.94,3952.33,247435.33,971327540.19,3928.4,direct, +2021-09-07,3947.45,3170.57,3928.4,1057330.56,3755934253.91,3433.48,direct, +2021-09-08,3560.94,3217.86,3433.48,659844.07,2254428180.74,3499.69,direct, +2021-09-09,3567.91,3395.5,3499.69,471809.78,1646622795.7,3424.24,direct, +2021-09-10,3513.41,3149.58,3424.24,522874.87,1736829807.16,3209.41,direct, +2021-09-11,3347.75,3201.4,3209.41,284401.72,931672905.38,3266.43,direct, +2021-09-12,3471.17,3232.65,3266.43,277383.04,936318554.79,3405.32,direct, +2021-09-13,3429.17,3121.17,3405.32,523307.23,1700713421.4,3285.4,direct, +2021-09-14,3437.3,3272.39,3285.4,309350.29,1035256383.1,3436.05,direct, +2021-09-15,3617.68,3361.88,3436.05,317503.69,1104834751.1,3615.22,direct, +2021-09-16,3673.8,3484.59,3615.22,424361.99,1522954456.45,3569.26,direct, +2021-09-17,3593.71,3354.35,3569.26,367680.83,1269889232.32,3398.82,direct, +2021-09-18,3541.73,3370.5,3398.82,279872.2,968755868.2,3435.76,direct, +2021-09-19,3456.34,3282.08,3435.76,222702.65,749411817.66,3328.85,direct, +2021-09-20,3344.34,2926.56,3328.85,925768.52,2854105768.19,2966.51,direct, +2021-09-21,3103.63,2677.64,2966.51,906870.89,2632590191.67,2760.2,direct, +2021-09-22,3090.16,2738.86,2760.2,525831.56,1546061749.14,3078.88,direct, +2021-09-23,3177.43,3037.12,3078.88,336516.23,1048023991.37,3154.62,direct, +2021-09-24,3160.27,2745.73,3154.62,727870.33,2116848129.48,2930.86,direct, +2021-09-25,2968.99,2805.35,2930.86,341606.33,992935823.56,2925.34,direct, +2021-09-26,3116.4,2742.73,2925.34,389358.67,1144546427.35,3064.21,direct, +2021-09-27,3166.17,2925.7,3064.21,362312.15,1109513874.46,2927.73,direct, +2021-09-28,2970.52,2791.15,2927.73,413892.02,1193298638.31,2807.44,direct, +2021-09-29,2949.74,2784.02,2807.44,354249.16,1015388802.44,2850.87,direct, +2021-09-30,3048.78,2838.28,2850.87,359598.28,1074045517.68,3000.83,direct, +2021-10-01,3334.03,2969.29,3000.83,464652.73,1480674960.09,3310.63,direct, +2021-10-02,3469.12,3260.49,3310.63,258224.73,869122812.18,3389.48,direct, +2021-10-03,3488.52,3344.87,3389.48,218924.04,748590158.94,3420.14,direct, +2021-10-04,3437.69,3281.47,3420.14,306098.91,1029946380.56,3384.5,direct, +2021-10-05,3546.36,3366.32,3384.5,297318.27,1026457702.21,3516.09,direct, +2021-10-06,3626.63,3345.21,3516.09,447259.09,1577043616.23,3576.08,direct, +2021-10-07,3655.04,3471.22,3576.19,311707.69,1115192656.55,3588.12,direct, +2021-10-08,3669.37,3536.08,3588.2,261572.12,944018845.76,3562.84,direct, +2021-10-09,3633.84,3539.3,3562.84,135476.06,486436966.61,3576.4,direct, +2021-10-10,3604.88,3409.77,3576.4,194957.07,685931826.8,3416.49,direct, +2021-10-11,3622.59,3374.5,3416.49,261644.17,924487424.69,3544.14,direct, +2021-10-12,3548.55,3404.55,3544.14,302081.99,1052426344.65,3490.61,direct, +2021-10-13,3613.53,3413.15,3490.61,280470.44,983041094.72,3607.55,direct, +2021-10-14,3826.21,3589.52,3607.55,394599.77,1472924368.3,3791.23,direct, +2021-10-15,3902.04,3735.27,3791.23,381684.12,1458863383.96,3868.16,direct, +2021-10-16,3968.29,3804.18,3868.16,256819.08,995972602.42,3829.61,direct, +2021-10-17,3918.06,3651.37,3829.61,275172.94,1045896725.37,3846.66,direct, +2021-10-18,3894.27,3677.52,3846.66,361513.63,1365253107.8,3746.14,direct, +2021-10-19,3888.54,3733.6,3746.14,291414.08,1110236475.25,3877.45,direct, +2021-10-20,4168.74,3829.95,3877.45,427521.45,1719887383.03,4162.49,direct, +2021-10-21,4373.21,4015.24,4162.49,585122.78,2439959842.9,4062.76,direct, +2021-10-22,4168.19,3892.38,4062.76,365507.01,1474774578.95,3971.95,direct, +2021-10-23,4171.67,3937.93,3971.95,206808.72,839766245.34,4168.96,direct, +2021-10-24,4185.96,3963.11,4168.96,222789.38,904114100.2,4082.08,direct, +2021-10-25,4235.57,4069.68,4082.08,273786.47,1140017638.98,4220.26,direct, +2021-10-26,4295.04,4094.55,4220.26,307683.57,1291728236.29,4129.95,direct, +2021-10-27,4308.89,3921.73,4129.95,579703.87,2371617544.49,3924.31,direct, +2021-10-28,4294.39,3897.1,3924.31,487099.05,2020610386.22,4288.22,direct, +2021-10-29,4459.9,4268.45,4288.22,479793.58,2095769732.29,4417.4,direct, +2021-10-30,4433.67,4241.44,4417.4,219463.6,948358418.96,4323.94,direct, +2021-10-31,4395.57,4170.69,4323.94,265619.86,1135939130.48,4290.1,direct, +2021-11-01,4383.1,4153.91,4290.1,331343.91,1425220983.08,4322.79,direct, +2021-11-02,4603.64,4287.58,4322.79,419178.03,1870280986.16,4593.15,direct, +2021-11-03,4669.63,4457.12,4593.15,402513.51,1842855559.04,4604.4,direct, +2021-11-04,4608.55,4423.44,4604.4,302900.12,1369081687.71,4536.99,direct, +2021-11-05,4573.58,4446.48,4536.99,227363.23,1023750022.65,4480.09,direct, +2021-11-06,4532.21,4330.7,4480.09,200179.03,889268557.48,4521.41,direct, +2021-11-07,4638.45,4507.27,4521.41,162615.74,745891590.35,4617.13,direct, +2021-11-08,4823.95,4616.63,4617.13,295621.95,1401093512.37,4810.97,direct, +2021-11-09,4841.12,4710.0,4810.97,278323.93,1331650830.12,4732.07,direct, +2021-11-10,4865.94,4488.21,4732.07,453846.25,2133668813.42,4632.98,direct, +2021-11-11,4781.36,4579.28,4632.98,222355.2,1045035758.02,4722.68,direct, +2021-11-12,4807.7,4510.48,4722.68,326957.09,1521700733.37,4668.7,direct, +2021-11-13,4705.5,4587.56,4668.7,133116.8,619103766.42,4645.64,direct, +2021-11-14,4694.35,4517.53,4645.64,172936.08,793795679.01,4627.5,direct, +2021-11-15,4769.78,4542.39,4627.5,249920.05,1163390034.39,4561.38,direct, +2021-11-16,4564.74,4119.14,4561.38,635539.32,2736848801.78,4210.14,direct, +2021-11-17,4299.27,4072.31,4210.14,346937.73,1453634025.34,4289.75,direct, +2021-11-18,4345.89,3960.96,4289.75,533470.11,2191561063.22,3998.17,direct, +2021-11-19,4312.99,3976.76,3998.17,376892.96,1570958313.67,4299.27,direct, +2021-11-20,4438.77,4207.89,4299.27,183688.33,793329749.88,4415.72,direct, +2021-11-21,4427.16,4249.1,4415.72,155708.27,677869864.33,4264.61,direct, +2021-11-22,4316.81,4026.8,4264.61,361088.34,1505604412.03,4090.46,direct, +2021-11-23,4388.46,4064.13,4090.46,334979.15,1418992817.98,4341.17,direct, +2021-11-24,4372.59,4170.12,4341.17,242314.24,1031134404.33,4271.96,direct, +2021-11-25,4553.76,4250.21,4271.96,232199.87,1026529358.49,4523.8,direct, +2021-11-26,4553.39,3924.75,4523.8,589151.39,2436905151.43,4042.55,direct, +2021-11-27,4186.32,4032.49,4042.55,171463.23,705324182.49,4100.3,direct, +2021-11-28,4301.69,3966.8,4100.3,247141.4,1016069613.05,4297.92,direct, +2021-11-29,4461.9,4283.21,4297.92,289979.7,1267610516.1,4448.49,direct, +2021-11-30,4757.28,4351.26,4448.49,613077.97,2807573673.7,4631.1,direct, +2021-12-01,4781.93,4527.67,4631.1,435841.64,2040601934.49,4587.74,direct, +2021-12-02,4635.8,4436.52,4587.74,313150.82,1418366718.66,4514.8,direct, +2021-12-03,4659.62,4088.98,4514.8,520083.09,2259654209.54,4219.32,direct, +2021-12-04,4238.26,3692.26,4219.32,794368.81,3148499591.46,4124.26,direct, +2021-12-05,4255.77,4039.23,4124.26,409297.68,1701512079.93,4201.09,direct, +2021-12-06,4378.45,3921.25,4201.09,620289.46,2557612886.32,4357.17,direct, +2021-12-07,4431.06,4261.1,4357.17,321026.63,1397029329.38,4309.7,direct, +2021-12-08,4455.48,4229.69,4309.7,291373.82,1271231903.62,4439.98,direct, +2021-12-09,4489.81,4077.39,4439.98,387852.11,1647959364.78,4111.92,direct, +2021-12-10,4229.29,3890.33,4111.92,465520.56,1887677550.92,3902.49,direct, +2021-12-11,4099.04,3835.8,3902.49,306631.5,1229885614.78,4088.68,direct, +2021-12-12,4179.55,3990.11,4088.68,201356.73,822451692.61,4135.31,direct, +2021-12-13,4144.68,3672.91,4135.31,638868.62,2479495385.68,3785.08,direct, +2021-12-14,3882.64,3687.79,3785.08,350824.15,1331915229.79,3862.18,direct, +2021-12-15,4095.28,3651.32,3862.18,584777.27,2261433715.25,4020.19,direct, +2021-12-16,4113.2,3953.97,4020.19,300503.54,1214057116.12,3957.03,direct, +2021-12-17,3994.8,3701.56,3957.03,391840.81,1510947390.05,3876.37,direct, +2021-12-18,3998.59,3769.26,3876.37,230980.4,905001419.39,3961.96,direct, +2021-12-19,4032.94,3887.35,3961.96,180827.39,714693305.99,3924.55,direct, +2021-12-20,3982.81,3755.88,3924.55,297439.66,1148343070.42,3945.57,direct, +2021-12-21,4063.67,3911.66,3945.57,274950.73,1100583287.23,4017.7,direct, +2021-12-22,4075.0,3940.86,4017.7,191823.84,769184671.11,3981.26,direct, +2021-12-23,4155.17,3896.44,3981.26,315272.64,1268269549.32,4112.35,direct, +2021-12-24,4137.22,4014.98,4112.35,179378.39,733002231.89,4047.87,direct, +2021-12-25,4141.62,4023.5,4047.87,108759.92,443317505.87,4097.06,direct, +2021-12-26,4106.52,4008.08,4097.06,112519.97,456822577.62,4063.44,direct, +2021-12-27,4128.11,4030.81,4063.44,164782.11,672618458.2,4037.87,direct, +2021-12-28,4038.31,3761.18,4037.87,340005.93,1320165386.47,3793.54,direct, +2021-12-29,3827.6,3604.6,3793.54,290193.74,1086528328.73,3629.31,direct, +2021-12-30,3769.38,3588.54,3629.31,264722.99,978675377.84,3710.08,direct, +2021-12-31,3814.37,3621.79,3710.08,298108.43,1110593109.24,3675.79,direct, +2022-01-01,3777.06,3675.15,3675.79,148235.07,552908047.08,3766.74,direct, +2022-01-02,3854.47,3718.46,3766.74,140733.04,532912408.05,3830.92,direct, +2022-01-03,3850.72,3682.61,3830.92,194314.85,733848876.26,3765.16,direct, +2022-01-04,3891.61,3714.62,3765.16,245989.54,938866049.19,3785.67,direct, +2022-01-05,3847.65,3424.77,3785.67,409099.95,1497204817.27,3536.77,direct, +2022-01-06,3549.26,3300.16,3536.77,453380.13,1549952613.52,3406.48,direct, +2022-01-07,3415.21,3081.33,3406.48,658469.5,2113480068.24,3196.47,direct, +2022-01-08,3247.14,3000.44,3196.47,378058.74,1176273571.17,3080.81,direct, +2022-01-09,3211.44,3058.72,3080.81,237084.95,744089597.15,3150.83,direct, +2022-01-10,3180.23,2929.63,3150.83,464065.27,1414704260.19,3083.68,direct, +2022-01-11,3265.05,3053.43,3083.68,287428.21,909974304.07,3240.32,direct, +2022-01-12,3415.58,3207.8,3240.32,294179.82,976636720.28,3373.03,direct, +2022-01-13,3412.61,3234.68,3373.03,253943.25,842177824.2,3242.26,direct, +2022-01-14,3344.43,3190.86,3242.26,231692.68,757380057.76,3309.66,direct, +2022-01-15,3372.84,3262.31,3309.66,126153.72,419775516.58,3328.63,direct, +2022-01-16,3393.05,3275.11,3328.63,122574.95,408917682.57,3349.61,direct, +2022-01-17,3358.54,3143.23,3349.61,253781.11,821946264.75,3210.9,direct, +2022-01-18,3244.64,3085.01,3210.9,281019.69,886615823.7,3161.5,direct, +2022-01-19,3174.98,3048.26,3161.5,290430.38,904276109.96,3084.78,direct, +2022-01-20,3272.69,2987.33,3084.78,336839.6,1059563581.09,3002.43,direct, +2022-01-21,3033.86,2473.06,3002.43,988993.98,2739752122.2,2569.59,direct, +2022-01-22,2626.26,2306.11,2569.59,882340.28,2161344450.57,2412.23,direct, +2022-01-23,2549.64,2372.63,2412.23,445834.07,1097388289.15,2541.6,direct, +2022-01-24,2541.78,2160.66,2541.6,1073894.23,2488339892.27,2442.27,direct, +2022-01-25,2508.14,2351.86,2442.27,485036.16,1178707258.61,2459.65,direct, +2022-01-26,2723.15,2402.99,2459.65,737513.68,1884456587.88,2464.13,direct, +2022-01-27,2521.07,2316.47,2464.13,509719.12,1232688510.11,2425.83,direct, +2022-01-28,2558.86,2359.78,2425.83,427257.35,1045738950.11,2547.03,direct, +2022-01-29,2637.58,2522.26,2547.03,252029.25,648693006.43,2603.1,direct, +2022-01-30,2639.97,2544.43,2603.1,191134.8,496079257.79,2603.24,direct, +2022-01-31,2707.52,2479.42,2603.24,354789.83,923473240.93,2689.14,direct, +2022-02-01,2814.09,2676.94,2689.14,368573.73,1017221692.9,2790.15,direct, +2022-02-02,2812.72,2613.75,2790.15,412321.15,1117424351.2,2681.11,direct, +2022-02-03,2727.32,2575.55,2681.11,335349.34,883999086.79,2697.18,direct, +2022-02-04,2998.46,2673.44,2697.18,490154.91,1401499392.17,2997.18,direct, +2022-02-05,3062.95,2962.22,2997.18,255479.72,769211760.94,3015.26,direct, +2022-02-06,3075.45,2952.8,3015.26,133595.11,402035046.33,3057.68,direct, +2022-02-07,3192.5,2996.04,3057.68,372171.22,1158530947.35,3141.38,direct, +2022-02-08,3233.58,3028.6,3141.38,360771.09,1122580120.4,3118.76,direct, +2022-02-09,3273.04,3057.51,3118.76,291438.28,924663930.55,3246.72,direct, +2022-02-10,3283.28,3059.58,3246.72,400824.47,1273705251.69,3074.84,direct, +2022-02-11,3139.99,2880.24,3074.84,446120.24,1349461675.11,2928.93,direct, +2022-02-12,2986.55,2859.52,2928.93,218079.8,636492567.43,2918.34,direct, +2022-02-13,2954.6,2839.03,2918.34,162466.43,471244695.51,2872.44,direct, +2022-02-14,2965.85,2832.37,2872.44,310054.68,900749488.39,2931.12,direct, +2022-02-15,3197.58,2913.29,2931.12,324817.22,1002040864.64,3185.81,direct, +2022-02-16,3189.15,3045.67,3185.81,257029.5,803304744.19,3124.33,direct, +2022-02-17,3161.66,2854.87,3124.33,426192.96,1278963366.95,2894.42,direct, +2022-02-18,2945.24,2753.63,2894.42,386698.78,1096377704.49,2780.72,direct, +2022-02-19,2831.75,2699.43,2780.72,204084.91,563929415.84,2764.5,direct, +2022-02-20,2765.19,2576.75,2764.5,296987.31,788545229.88,2622.7,direct, +2022-02-21,2759.38,2561.64,2622.7,480551.54,1280527155.22,2570.15,direct, +2022-02-22,2666.02,2502.79,2570.15,421346.73,1088026319.81,2638.81,direct, +2022-02-23,2755.04,2578.18,2638.81,351075.55,937541603.27,2580.97,direct, +2022-02-24,2708.0,2302.3,2580.97,976089.91,2394587900.96,2597.94,direct, +2022-02-25,2836.6,2573.59,2597.94,397777.86,1068346401.49,2769.0,direct, +2022-02-26,2872.94,2730.21,2769.0,228073.48,637768288.08,2780.32,direct, +2022-02-27,2835.86,2560.39,2780.32,402408.5,1085892930.75,2617.32,direct, +2022-02-28,2945.2,2571.64,2617.32,507566.28,1390670729.71,2919.85,direct, +2022-03-01,3035.04,2861.91,2919.85,432840.34,1275345152.75,2976.59,direct, +2022-03-02,3035.58,2916.52,2976.59,373509.87,1110866879.98,2949.03,direct, +2022-03-03,2971.29,2790.6,2949.03,310213.42,888491373.47,2833.71,direct, +2022-03-04,2834.95,2577.66,2833.71,413535.48,1114507567.57,2622.51,direct, +2022-03-05,2682.35,2591.96,2622.51,118149.01,312186085.03,2666.18,direct, +2022-03-06,2675.13,2550.56,2666.18,131309.35,343584082.5,2552.58,direct, +2022-03-07,2646.36,2450.51,2552.58,365700.0,926973297.81,2496.67,direct, +2022-03-08,2623.67,2486.41,2496.67,301868.62,773261628.78,2579.18,direct, +2022-03-09,2767.0,2572.58,2579.18,311246.75,845338807.07,2733.05,direct, +2022-03-10,2733.49,2565.89,2733.05,345967.91,903490445.4,2608.64,direct, +2022-03-11,2667.32,2528.3,2608.64,272956.31,705087040.47,2557.57,direct, +2022-03-12,2613.21,2555.12,2557.57,93815.15,242567780.48,2569.87,direct, +2022-03-13,2601.69,2498.79,2569.87,129148.33,330151197.72,2516.83,direct, +2022-03-14,2608.14,2503.88,2516.83,222653.25,570156967.79,2591.45,direct, +2022-03-15,2668.8,2512.0,2591.45,281854.48,729493276.15,2619.61,direct, +2022-03-16,2787.84,2607.23,2619.61,383216.56,1032083525.66,2775.15,direct, +2022-03-17,2835.17,2750.42,2775.15,287141.33,802482340.33,2814.64,direct, +2022-03-18,2978.26,2771.37,2814.64,441350.22,1268306240.7,2941.32,direct, +2022-03-19,2983.2,2907.12,2941.32,182471.07,538679042.44,2952.64,direct, +2022-03-20,2963.95,2820.11,2952.64,162953.99,470175915.87,2861.26,direct, +2022-03-21,2960.6,2834.51,2861.26,259557.83,754395426.87,2895.01,direct, +2022-03-22,3049.24,2888.86,2895.01,368766.57,1105346813.25,2970.47,direct, +2022-03-23,3038.65,2926.7,2970.47,298978.12,891655004.6,3037.3,direct, +2022-03-24,3129.44,3004.26,3037.3,392621.51,1204417827.74,3112.85,direct, +2022-03-25,3193.97,3080.87,3112.85,332993.23,1043393468.05,3104.04,direct, +2022-03-26,3153.55,3086.7,3104.04,98656.67,308097209.43,3146.36,direct, +2022-03-27,3299.22,3128.13,3146.36,186907.99,599229501.54,3296.46,direct, +2022-03-28,3433.9,3276.53,3296.46,369540.98,1240484725.34,3334.29,direct, +2022-03-29,3481.81,3331.97,3334.29,309607.06,1057698452.9,3402.62,direct, +2022-03-30,3443.99,3340.85,3402.62,215492.76,730754932.49,3385.11,direct, +2022-03-31,3445.59,3261.99,3385.11,267142.15,892918044.54,3282.78,direct, +2022-04-01,3481.39,3214.41,3282.78,341191.37,1146333667.69,3455.72,direct, +2022-04-02,3531.17,3435.63,3455.72,223141.3,777202927.2,3444.68,direct, +2022-04-03,3580.76,3414.24,3444.68,173032.36,605819080.56,3522.49,direct, +2022-04-04,3546.88,3408.47,3522.49,257607.25,896630079.47,3520.15,direct, +2022-04-05,3553.56,3397.01,3520.15,279510.77,972367292.53,3406.48,direct, +2022-04-06,3407.48,3162.57,3406.48,485056.81,1587365720.77,3168.91,direct, +2022-04-07,3269.19,3143.89,3168.91,260468.32,836302734.24,3229.28,direct, +2022-04-08,3313.28,3174.37,3229.28,227087.37,738712527.46,3192.92,direct, +2022-04-09,3268.83,3183.1,3192.92,91610.23,295003082.23,3259.62,direct, +2022-04-10,3308.86,3191.99,3259.62,120410.14,391825529.05,3202.89,direct, +2022-04-11,3214.49,2950.95,3202.89,403463.25,1233562295.37,2979.52,direct, +2022-04-12,3086.55,2951.54,2979.52,314585.59,950255189.07,3028.77,direct, +2022-04-13,3129.24,2997.92,3028.77,228501.62,701662998.64,3118.5,direct, +2022-04-14,3144.41,2976.71,3118.5,209785.23,640639970.5,3021.76,direct, +2022-04-15,3058.39,2994.32,3021.76,112527.6,340633128.58,3041.21,direct, +2022-04-16,3086.29,3011.45,3041.21,71416.98,217214977.29,3060.28,direct, +2022-04-17,3082.05,2982.78,3060.28,107492.8,327041532.39,2988.4,direct, +2022-04-18,3070.29,2883.58,2988.4,279489.32,827696634.5,3056.2,direct, +2022-04-19,3131.65,3030.72,3056.2,191668.54,590853605.85,3102.52,direct, +2022-04-20,3167.34,3036.35,3102.52,221851.43,686897462.05,3077.74,direct, +2022-04-21,3179.21,2943.42,3077.74,270698.7,833558465.56,2984.24,direct, +2022-04-22,3033.2,2933.76,2984.24,218762.93,652250110.96,2963.17,direct, +2022-04-23,2979.17,2917.56,2963.17,86821.69,256592711.6,2933.65,direct, +2022-04-24,2967.57,2912.94,2933.65,84600.84,248805776.03,2922.37,direct, +2022-04-25,3026.15,2798.58,2922.37,375642.45,1088856116.93,3006.45,direct, +2022-04-26,3037.19,2768.64,3006.45,320227.74,927820742.34,2809.6,direct, +2022-04-27,2919.74,2795.23,2809.6,274649.23,787100076.86,2889.72,direct, +2022-04-28,2979.81,2855.11,2889.72,266540.51,778080070.18,2936.49,direct, +2022-04-29,2945.97,2776.18,2936.49,295430.37,844702667.04,2817.23,direct, +2022-04-30,2841.57,2717.75,2817.23,143031.78,399317728.28,2726.98,direct, +2022-05-01,2848.48,2717.45,2726.98,147819.9,411197825.48,2826.04,direct, +2022-05-02,2882.32,2777.75,2826.04,306241.97,866626990.45,2856.12,direct, +2022-05-03,2861.43,2754.39,2856.12,228558.02,643426033.63,2780.63,direct, +2022-05-04,2967.75,2770.84,2780.63,288993.54,830683889.51,2940.31,direct, +2022-05-05,2953.25,2691.89,2940.31,323467.94,905660794.97,2747.28,direct, +2022-05-06,2757.11,2633.94,2747.28,321766.12,867130443.62,2692.08,direct, +2022-05-07,2703.39,2589.82,2692.08,135380.98,359893218.95,2635.19,direct, +2022-05-08,2641.2,2486.56,2635.19,272074.71,692511713.12,2519.08,direct, +2022-05-09,2529.04,2224.84,2519.08,811474.42,1914870712.98,2230.95,direct, +2022-05-10,2457.17,2200.52,2230.95,787320.27,1850298109.21,2341.58,direct, +2022-05-11,2450.75,2003.31,2341.58,1217185.95,2717512970.57,2077.83,direct, +2022-05-12,2180.84,1713.99,2077.83,1433452.88,2753038207.64,1952.81,direct, +2022-05-13,2143.61,1936.1,1952.81,601021.71,1245554884.57,2006.51,direct, +2022-05-14,2066.02,1947.83,2006.51,210414.85,423017629.17,2054.03,direct, +2022-05-15,2160.61,1998.56,2054.03,180949.41,376701151.43,2143.12,direct, +2022-05-16,2143.2,1977.84,2143.12,339798.7,690038743.39,2020.12,direct, +2022-05-17,2119.84,2006.05,2020.12,289699.47,598230196.42,2089.29,direct, +2022-05-18,2108.35,1906.04,2089.29,323098.77,643148242.33,1911.68,direct, +2022-05-19,2038.92,1900.91,1911.68,365441.42,721565109.35,2017.78,direct, +2022-05-20,2061.81,1920.61,2017.78,340775.86,676297509.57,1956.88,direct, +2022-05-21,1987.79,1935.87,1956.88,102551.58,201843693.55,1972.87,direct, +2022-05-22,2053.49,1963.85,1972.87,143473.07,288595387.01,2041.08,direct, +2022-05-23,2086.6,1955.11,2041.08,307951.66,626635609.39,1970.7,direct, +2022-05-24,1991.09,1910.52,1970.7,260037.59,509629757.6,1977.85,direct, +2022-05-25,2019.8,1933.25,1977.85,257776.28,507595031.4,1941.04,direct, +2022-05-26,1963.52,1741.21,1941.04,559135.38,1030348371.06,1791.0,direct, +2022-05-27,1820.36,1706.95,1791.0,620989.67,1091437639.61,1724.73,direct, +2022-05-28,1807.77,1720.57,1724.73,226406.61,400672092.43,1790.79,direct, +2022-05-29,1824.64,1763.04,1790.79,202099.73,362774322.58,1811.69,direct, +2022-05-30,2011.23,1802.61,1811.69,432299.24,828850274.82,1997.64,direct, +2022-05-31,2015.05,1925.15,1997.64,407934.29,802528394.95,1940.59,direct, +2022-06-01,1971.79,1764.1,1940.59,542015.89,1020482594.24,1817.42,direct, +2022-06-02,1851.73,1782.17,1817.42,342166.6,622173440.24,1833.26,direct, +2022-06-03,1842.2,1737.3,1833.26,321034.9,569666491.39,1773.59,direct, +2022-06-04,1814.31,1747.45,1773.59,127178.95,225646408.54,1803.65,direct, +2022-06-05,1828.49,1771.7,1803.65,115340.19,208010346.16,1804.7,direct, +2022-06-06,1918.1,1803.59,1804.7,320038.54,600246125.39,1858.56,direct, +2022-06-07,1872.07,1725.54,1858.56,395559.39,705364504.92,1812.7,direct, +2022-06-08,1836.67,1765.24,1812.7,282107.16,508526918.8,1791.03,direct, +2022-06-09,1831.74,1776.37,1791.03,198843.86,357443811.84,1787.71,direct, +2022-06-10,1802.8,1654.64,1787.71,400457.64,687937104.94,1661.1,direct, +2022-06-11,1680.39,1500.36,1661.1,543851.96,854773704.94,1530.28,direct, +2022-06-12,1544.55,1426.49,1530.28,559551.89,825779676.24,1434.02,direct, +2022-06-13,1452.8,1165.61,1434.02,1803174.44,2275582645.63,1209.12,direct, +2022-06-14,1264.08,1075.44,1209.12,1280076.52,1519007309.93,1206.94,direct, +2022-06-15,1244.06,1014.07,1206.94,1512263.27,1698606699.32,1236.89,direct, +2022-06-16,1255.9,1050.94,1236.89,713850.77,807377734.26,1067.1,direct, +2022-06-17,1116.32,1050.3,1067.1,538871.48,585011689.72,1085.21,direct, +2022-06-18,1096.22,883.48,1085.21,1111012.52,1080808875.04,994.41,direct, +2022-06-19,1155.62,934.96,994.41,746709.49,776365310.03,1127.03,direct, +2022-06-20,1166.85,1051.76,1127.03,556967.99,617555699.32,1126.99,direct, +2022-06-21,1191.51,1108.44,1126.99,539382.54,619164299.73,1124.71,direct, +2022-06-22,1125.84,1043.02,1124.71,477305.52,517637610.39,1048.3,direct, +2022-06-23,1152.53,1044.07,1048.3,451739.61,500226767.62,1143.46,direct, +2022-06-24,1244.33,1131.25,1143.46,522965.49,622847139.93,1224.12,direct, +2022-06-25,1254.84,1179.17,1224.12,286628.31,348238056.74,1241.0,direct, +2022-06-26,1279.04,1194.9,1241.0,373624.98,459617043.48,1198.25,direct, +2022-06-27,1237.14,1174.01,1198.25,340090.32,409609422.41,1190.73,direct, +2022-06-28,1235.14,1135.32,1190.73,434590.25,516154549.5,1142.41,direct, +2022-06-29,1154.69,1086.31,1142.41,490935.48,547508525.24,1098.71,direct, +2022-06-30,1105.36,999.01,1098.71,635674.34,661034598.9,1069.53,direct, +2022-07-01,1108.86,1032.22,1069.53,577588.04,616888042.78,1058.01,direct, +2022-07-02,1077.18,1027.1,1058.01,233775.72,246197859.38,1065.69,direct, +2022-07-03,1085.63,1040.16,1065.69,206730.11,219767134.55,1072.95,direct, +2022-07-04,1159.39,1043.99,1072.95,373498.06,411008690.04,1149.81,direct, +2022-07-05,1170.54,1076.57,1149.81,487060.5,550223702.36,1131.96,direct, +2022-07-06,1202.1,1110.65,1131.96,472536.52,541697031.18,1185.41,direct, +2022-07-07,1253.43,1162.49,1185.41,522268.59,632226158.71,1236.64,direct, +2022-07-08,1274.65,1192.55,1236.64,556563.92,685525454.8,1214.0,direct, +2022-07-09,1232.47,1204.27,1214.0,147772.74,179916720.56,1216.53,direct, +2022-07-10,1219.06,1153.51,1216.53,193505.18,228056926.22,1167.31,direct, +2022-07-11,1170.23,1085.3,1167.31,373157.79,422804562.19,1095.67,direct, +2022-07-12,1097.18,1032.47,1095.67,514019.84,548112670.68,1037.37,direct, +2022-07-13,1117.22,1009.82,1037.37,769754.95,813163899.62,1114.57,direct, +2022-07-14,1211.87,1072.08,1114.57,559535.57,635957495.14,1192.56,direct, +2022-07-15,1286.06,1180.38,1192.56,704281.05,864043258.51,1231.23,direct, +2022-07-16,1400.05,1191.62,1231.23,518063.79,673738020.94,1356.31,direct, +2022-07-17,1385.31,1320.65,1356.31,453213.77,613273362.46,1337.97,direct, +2022-07-18,1593.79,1335.77,1337.97,1027888.25,1515087201.75,1583.55,direct, +2022-07-19,1625.03,1493.29,1583.55,875023.54,1354213074.71,1543.12,direct, +2022-07-20,1620.73,1487.09,1543.12,655879.23,1024542971.16,1521.72,direct, +2022-07-21,1605.45,1465.28,1521.72,556587.83,847550503.86,1575.68,direct, +2022-07-22,1645.63,1517.35,1575.68,528752.83,840140414.82,1535.71,direct, +2022-07-23,1596.62,1489.25,1535.71,290504.24,446044212.66,1549.19,direct, +2022-07-24,1663.54,1547.28,1549.19,325192.76,520874215.21,1597.72,direct, +2022-07-25,1609.22,1436.41,1597.72,544663.57,825050213.7,1438.01,direct, +2022-07-26,1454.25,1357.04,1438.01,479756.97,672687209.31,1449.61,direct, +2022-07-27,1644.64,1421.1,1449.61,673500.22,1027698858.37,1636.88,direct, +2022-07-28,1787.55,1594.83,1636.88,807586.53,1357299240.21,1725.82,direct, +2022-07-29,1765.97,1657.01,1725.82,559704.54,957967061.54,1722.28,direct, +2022-07-30,1744.59,1674.67,1722.28,331717.7,567955261.28,1697.52,direct, +2022-07-31,1751.92,1668.02,1697.52,248682.73,424322605.22,1679.55,direct, +2022-08-01,1704.81,1607.21,1679.55,379375.89,627822477.99,1630.62,direct, +2022-08-02,1677.78,1561.58,1630.62,446049.98,720425386.6,1631.11,direct, +2022-08-03,1683.19,1590.67,1631.11,462564.12,761209687.44,1618.68,direct, +2022-08-04,1663.09,1580.86,1618.68,457785.75,741257669.99,1607.96,direct, +2022-08-05,1740.57,1605.96,1607.96,671916.35,1128383162.41,1736.78,direct, +2022-08-06,1749.5,1687.21,1736.78,384066.13,660571163.49,1690.67,direct, +2022-08-07,1729.12,1669.23,1690.67,263873.55,447819960.84,1700.54,direct, +2022-08-08,1816.57,1693.75,1700.54,554955.47,981265580.22,1777.99,direct, +2022-08-09,1790.92,1669.6,1777.99,523158.46,898080190.62,1703.41,direct, +2022-08-10,1885.46,1657.4,1703.41,757563.54,1352776291.18,1854.05,direct, +2022-08-11,1941.32,1851.21,1854.05,707974.68,1341570228.57,1881.06,direct, +2022-08-12,1966.09,1854.29,1881.06,433649.57,824715568.77,1959.26,direct, +2022-08-13,2020.32,1947.46,1959.26,403298.25,800730150.33,1984.29,direct, +2022-08-14,2030.19,1907.04,1984.29,372768.51,734838036.93,1936.02,direct, +2022-08-15,2012.94,1869.02,1936.02,672460.01,1291080609.46,1899.64,direct, +2022-08-16,1915.11,1853.68,1899.64,498202.68,938206003.68,1877.16,direct, +2022-08-17,1957.07,1817.73,1877.16,678299.81,1267374734.89,1834.04,direct, +2022-08-18,1882.41,1821.45,1834.04,399086.53,742010328.68,1846.36,direct, +2022-08-19,1847.92,1603.31,1846.36,1076675.38,1847934898.07,1609.05,direct, +2022-08-20,1656.86,1524.51,1609.05,678602.59,1089158535.71,1575.73,direct, +2022-08-21,1645.6,1562.97,1575.73,566027.26,910431597.18,1617.86,direct, +2022-08-22,1628.88,1529.73,1617.86,751031.05,1182900442.15,1624.65,direct, +2022-08-23,1672.46,1563.84,1624.65,652829.75,1062895745.35,1664.76,direct, +2022-08-24,1694.44,1605.04,1664.76,666453.38,1100702910.25,1656.52,direct, +2022-08-25,1722.01,1653.92,1656.52,451003.41,765141174.18,1695.85,direct, +2022-08-26,1704.96,1487.79,1695.85,933483.42,1511768507.05,1508.09,direct, +2022-08-27,1518.79,1448.62,1508.09,556305.82,828407067.63,1491.26,direct, +2022-08-28,1510.14,1424.21,1491.26,427103.56,630935011.23,1426.4,direct, +2022-08-29,1560.09,1422.09,1426.4,705103.15,1049519720.22,1552.4,direct, +2022-08-30,1605.77,1474.69,1552.4,787770.35,1220810502.07,1524.62,direct, +2022-08-31,1619.18,1524.26,1524.62,702491.17,1107751190.46,1554.16,direct, +2022-09-01,1598.99,1513.23,1554.16,483838.85,752412872.72,1585.98,direct, +2022-09-02,1649.27,1546.9,1585.98,513335.77,822062063.91,1575.91,direct, +2022-09-03,1582.39,1534.93,1575.91,204598.22,318389181.65,1557.54,direct, +2022-09-04,1582.8,1540.9,1557.54,160890.57,251366855.06,1579.06,direct, +2022-09-05,1629.13,1557.45,1579.06,304058.96,481845237.91,1617.5,direct, +2022-09-06,1686.59,1555.91,1617.5,721351.33,1178593645.43,1558.9,direct, +2022-09-07,1656.66,1490.73,1558.9,572081.28,890171683.95,1630.0,direct, +2022-09-08,1662.69,1596.45,1630.0,563506.92,917720046.07,1635.6,direct, +2022-09-09,1744.19,1631.06,1635.6,588913.83,1004002586.51,1719.35,direct, +2022-09-10,1789.58,1707.49,1719.35,254960.92,442617943.59,1774.69,direct, +2022-09-11,1789.21,1722.54,1774.69,240612.96,424086159.35,1767.02,direct, +2022-09-12,1783.07,1693.36,1767.02,397149.42,688261837.42,1716.53,direct, +2022-09-13,1755.79,1561.88,1716.53,721373.86,1186666903.31,1574.56,direct, +2022-09-14,1648.36,1555.15,1574.56,474733.66,759203960.6,1639.6,direct, +2022-09-15,1654.2,1459.21,1639.6,826190.99,1283200244.31,1472.51,direct, +2022-09-16,1483.2,1408.46,1472.51,608687.84,881484582.21,1433.97,direct, +2022-09-17,1476.0,1409.4,1433.97,295736.98,427781777.37,1469.05,direct, +2022-09-18,1470.03,1326.3,1469.05,479255.34,664603372.25,1334.3,direct, +2022-09-19,1392.37,1281.71,1334.3,617396.44,820923081.03,1376.21,direct, +2022-09-20,1384.51,1313.06,1376.21,841078.07,1134751018.14,1323.07,direct, +2022-09-21,1399.59,1220.78,1323.07,1627469.27,2158795290.82,1246.29,direct, +2022-09-22,1342.74,1237.45,1246.29,1372333.24,1764192693.49,1326.15,direct, +2022-09-23,1358.83,1262.97,1326.15,1353509.71,1770416488.71,1326.95,direct, +2022-09-24,1349.09,1306.83,1326.95,518264.02,688754375.79,1317.11,direct, +2022-09-25,1336.88,1270.94,1317.11,567913.58,741280751.13,1294.72,direct, +2022-09-26,1340.64,1279.55,1294.72,1311049.98,1719754734.68,1336.65,direct, +2022-09-27,1400.42,1304.41,1336.65,1130128.11,1537712811.95,1328.11,direct, +2022-09-28,1354.97,1258.23,1328.11,1411308.4,1843309322.44,1337.15,direct, +2022-09-29,1351.6,1288.59,1337.15,1014932.37,1346135197.35,1335.9,direct, +2022-09-30,1372.44,1316.72,1335.9,1164820.52,1559138076.19,1328.7,direct, +2022-10-01,1333.85,1303.19,1328.7,273983.82,361595127.37,1311.8,direct, +2022-10-02,1317.65,1272.05,1311.8,411466.97,533576502.55,1276.69,direct, +2022-10-03,1329.8,1265.42,1276.69,817660.89,1066475762.56,1323.32,direct, +2022-10-04,1370.09,1319.02,1323.32,713943.35,962114984.8,1361.9,direct, +2022-10-05,1364.69,1316.75,1361.9,667604.6,897717802.0,1352.44,direct, +2022-10-06,1384.03,1346.79,1352.44,979637.13,1337183654.48,1352.4,direct, +2022-10-07,1361.52,1317.95,1352.4,631810.29,847055907.94,1331.14,direct, +2022-10-08,1337.38,1303.92,1331.14,193854.73,256701832.62,1315.47,direct, +2022-10-09,1328.86,1307.58,1315.47,204851.91,270217040.65,1323.41,direct, +2022-10-10,1338.13,1289.77,1323.41,538968.88,706276755.9,1290.04,direct, +2022-10-11,1297.84,1268.05,1290.04,698727.95,895785523.92,1279.79,direct, +2022-10-12,1306.21,1275.03,1279.79,509091.81,659072834.99,1294.29,direct, +2022-10-13,1300.93,1199.77,1294.29,1242884.05,1553294534.83,1287.51,direct, +2022-10-14,1343.39,1283.82,1287.51,985870.85,1300245316.03,1296.63,direct, +2022-10-15,1301.81,1264.0,1296.63,298151.13,383099353.48,1274.91,direct, +2022-10-16,1315.33,1274.68,1274.91,335309.9,433760169.98,1305.87,direct, +2022-10-17,1338.64,1295.86,1305.87,567289.21,748550276.7,1331.52,direct, +2022-10-18,1341.38,1287.13,1331.52,710601.48,936900282.81,1310.78,direct, +2022-10-19,1313.67,1280.17,1310.78,544229.57,706514928.62,1284.85,direct, +2022-10-20,1310.72,1271.7,1284.85,624309.59,805186791.44,1282.68,direct, +2022-10-21,1307.1,1254.6,1282.68,636332.09,817282417.74,1299.88,direct, +2022-10-22,1319.61,1294.4,1299.88,208560.33,272863413.86,1313.91,direct, +2022-10-23,1370.8,1300.09,1313.91,421356.89,561742750.96,1364.2,direct, +2022-10-24,1370.45,1324.47,1364.2,721346.34,969857919.89,1343.83,direct, +2022-10-25,1524.13,1335.31,1343.83,1642318.42,2350835728.61,1460.37,direct, +2022-10-26,1595.06,1457.91,1460.37,1835153.39,2821129189.15,1566.85,direct, +2022-10-27,1578.12,1505.22,1566.85,1408936.86,2182940242.05,1514.35,direct, +2022-10-28,1574.67,1484.12,1514.35,1115356.45,1703276756.19,1555.12,direct, +2022-10-29,1663.64,1548.24,1555.12,921088.69,1488331267.57,1620.42,direct, +2022-10-30,1640.31,1577.18,1620.42,556544.13,891449874.51,1590.93,direct, +2022-10-31,1635.53,1547.97,1590.93,1020683.99,1615108402.06,1572.88,direct, +2022-11-01,1611.88,1563.39,1572.88,700521.98,1109585843.08,1578.51,direct, +2022-11-02,1620.26,1502.4,1578.51,1303264.24,2037801666.52,1518.33,direct, +2022-11-03,1558.59,1515.32,1518.33,748066.97,1152727124.17,1530.87,direct, +2022-11-04,1671.48,1528.31,1530.87,1195605.21,1925861769.02,1645.06,direct, +2022-11-05,1665.9,1621.64,1645.06,372275.57,611265136.47,1627.42,direct, +2022-11-06,1638.76,1565.49,1627.42,456328.92,735107790.65,1568.75,direct, +2022-11-07,1608.74,1546.59,1568.75,873269.35,1378127340.69,1568.45,direct, +2022-11-08,1579.41,1250.63,1568.45,2888023.55,4107836408.23,1334.22,direct, +2022-11-09,1337.05,1081.28,1334.22,2781427.49,3360130314.53,1104.17,direct, +2022-11-10,1347.76,1090.05,1104.17,1434018.02,1773564733.66,1296.01,direct, +2022-11-11,1306.47,1200.46,1296.01,1116988.68,1409146347.24,1285.23,direct, +2022-11-12,1289.04,1236.27,1285.23,338208.86,427130657.25,1254.95,direct, +2022-11-13,1272.09,1200.31,1254.95,348001.46,429569400.6,1219.85,direct, +2022-11-14,1288.74,1170.9,1219.85,697240.74,855858844.55,1241.39,direct, +2022-11-15,1288.55,1232.81,1241.39,575085.3,723628030.12,1252.0,direct, +2022-11-16,1266.73,1185.82,1252.0,607212.63,742289325.22,1215.24,direct, +2022-11-17,1227.03,1181.92,1215.24,472447.65,568626212.85,1199.45,direct, +2022-11-18,1231.6,1198.2,1199.45,363748.92,441193528.12,1210.98,direct, +2022-11-19,1231.29,1196.77,1210.98,190518.55,230572688.07,1216.52,direct, +2022-11-20,1225.0,1130.87,1216.52,419202.77,491708817.05,1140.47,direct, +2022-11-21,1144.37,1079.94,1140.47,888334.79,990700383.48,1105.99,direct, +2022-11-22,1140.64,1074.4,1105.99,742768.38,824490701.43,1137.75,direct, +2022-11-23,1189.1,1126.34,1137.75,645984.08,750643596.67,1183.69,direct, +2022-11-24,1215.66,1179.27,1183.69,456499.85,547060532.6,1202.96,direct, +2022-11-25,1205.7,1170.43,1202.96,333765.53,396616881.99,1198.4,direct, +2022-11-26,1233.38,1196.04,1198.4,270909.36,329190686.13,1204.94,direct, +2022-11-27,1222.51,1188.99,1204.94,220645.91,267300240.57,1193.2,direct, +2022-11-28,1198.53,1150.42,1193.2,450296.42,526904922.21,1167.3,direct, +2022-11-29,1225.87,1157.85,1167.3,476198.98,573752908.47,1215.7,direct, +2022-11-30,1309.06,1212.49,1215.7,701187.69,893091016.94,1294.92,direct, +2022-12-01,1299.63,1263.39,1294.92,434534.77,556451968.76,1276.36,direct, +2022-12-02,1297.11,1265.67,1276.36,418461.79,536043267.27,1295.61,direct, +2022-12-03,1307.27,1236.97,1295.61,312767.84,397801316.77,1241.13,direct, +2022-12-04,1286.38,1240.5,1241.13,246761.98,312004682.21,1279.89,direct, +2022-12-05,1305.5,1247.32,1279.89,460629.87,588911337.44,1259.37,direct, +2022-12-06,1274.29,1242.46,1259.37,394034.08,495067956.08,1271.38,direct, +2022-12-07,1276.71,1217.1,1271.38,404153.25,500133032.01,1231.35,direct, +2022-12-08,1291.22,1222.42,1231.35,476605.2,596851329.1,1280.28,direct, +2022-12-09,1295.62,1256.15,1280.28,411785.24,525600440.57,1262.95,direct, +2022-12-10,1282.69,1260.13,1262.95,203657.61,258333254.5,1266.34,direct, +2022-12-11,1283.59,1257.77,1266.34,226937.44,288391972.72,1263.27,direct, +2022-12-12,1278.74,1240.78,1263.27,425640.9,534501434.1,1275.37,direct, +2022-12-13,1346.51,1256.36,1275.37,602423.88,786269925.3,1320.43,direct, +2022-12-14,1350.33,1302.52,1320.43,701164.65,926900276.47,1307.5,direct, +2022-12-15,1311.34,1260.13,1307.5,599551.83,768136956.69,1266.59,direct, +2022-12-16,1279.37,1158.18,1266.59,878354.77,1065048194.1,1167.85,direct, +2022-12-17,1189.53,1162.32,1167.85,383067.08,451167227.98,1187.11,direct, +2022-12-18,1196.43,1172.99,1187.11,271189.77,321056937.95,1183.19,direct, +2022-12-19,1194.49,1152.43,1183.19,497188.38,585378897.99,1167.68,direct, +2022-12-20,1228.37,1163.29,1167.68,609536.88,735691592.34,1216.96,direct, +2022-12-21,1220.46,1204.4,1216.96,427885.37,518496302.18,1213.84,direct, +2022-12-22,1230.41,1183.8,1213.84,528262.6,637447979.92,1217.51,direct, +2022-12-23,1228.48,1213.65,1217.51,470222.71,573753835.68,1219.97,direct, +2022-12-24,1226.23,1214.24,1219.97,207378.91,252819741.33,1220.49,direct, +2022-12-25,1223.72,1199.6,1220.49,328092.18,397681859.87,1218.3,direct, +2022-12-26,1229.65,1212.89,1218.3,247202.68,301306741.79,1227.3,direct, +2022-12-27,1232.63,1202.88,1227.3,390793.16,474996198.27,1211.07,direct, +2022-12-28,1214.55,1182.48,1211.07,498553.01,596230640.27,1189.27,direct, +2022-12-29,1205.31,1186.42,1189.27,366192.7,438196328.2,1200.06,direct, +2022-12-30,1201.51,1182.25,1200.06,346823.33,413969580.77,1199.12,direct, +2022-12-31,1207.02,1191.63,1199.12,222004.25,266114942.31,1195.0,direct, +2023-01-01,1204.09,1190.52,1195.0,177271.0,212091101.2,1200.1,direct, +2023-01-02,1222.25,1192.5,1200.1,327216.37,396971135.51,1213.98,direct, +2023-01-03,1219.35,1205.08,1213.98,323873.94,392700511.47,1214.11,direct, +2023-01-04,1267.02,1212.42,1214.11,660554.73,825157843.82,1256.42,direct, +2023-01-05,1259.03,1242.51,1256.42,395462.48,494598797.89,1250.73,direct, +2023-01-06,1275.0,1236.5,1250.73,531468.47,667398617.34,1268.71,direct, +2023-01-07,1270.34,1261.21,1268.71,183266.85,231711574.14,1263.86,direct, +2023-01-08,1292.01,1258.59,1263.86,308927.99,392241837.02,1288.62,direct, +2023-01-09,1344.17,1285.01,1288.62,775693.69,1022290294.83,1320.11,direct, +2023-01-10,1346.45,1316.81,1320.11,512653.94,682508755.42,1335.42,direct, +2023-01-11,1393.42,1320.84,1335.42,558764.18,750208058.14,1388.95,direct, +2023-01-12,1436.9,1367.5,1388.95,836206.52,1173416087.03,1416.05,direct, +2023-01-13,1464.27,1401.0,1416.05,582315.27,827418332.41,1451.18,direct, +2023-01-14,1600.82,1449.52,1451.18,651867.35,1000747558.84,1550.07,direct, +2023-01-15,1566.18,1516.95,1550.07,393482.3,605354595.73,1552.71,direct, +2023-01-16,1601.54,1522.89,1552.71,546773.59,854808666.21,1577.02,direct, +2023-01-17,1606.64,1542.73,1577.02,445523.36,701015677.04,1565.15,direct, +2023-01-18,1610.01,1502.35,1565.15,761780.77,1186461141.36,1512.28,direct, +2023-01-19,1562.61,1509.86,1512.28,489405.87,750596721.84,1551.2,direct, +2023-01-20,1662.05,1542.76,1551.2,661985.34,1052523938.77,1659.02,direct, +2023-01-21,1678.11,1622.68,1659.02,551440.33,911165415.27,1626.68,direct, +2023-01-22,1661.85,1608.38,1626.68,482545.84,787251000.78,1627.79,direct, +2023-01-23,1646.52,1592.78,1627.79,536187.38,872732022.61,1626.47,direct, +2023-01-24,1641.25,1537.38,1626.47,567029.94,911498894.01,1556.12,direct, +2023-01-25,1638.48,1519.26,1556.12,724158.23,1132268819.24,1610.94,direct, +2023-01-26,1632.15,1579.46,1610.94,491078.21,789028231.13,1601.35,direct, +2023-01-27,1621.71,1553.36,1601.35,493189.56,781935987.02,1597.86,direct, +2023-01-28,1606.66,1558.63,1597.86,275543.16,436021436.43,1572.46,direct, +2023-01-29,1658.36,1566.99,1572.46,502089.89,812096302.45,1645.46,direct, +2023-01-30,1647.19,1539.51,1645.46,577546.2,917935732.64,1566.49,direct, +2023-01-31,1603.98,1561.82,1566.49,436991.03,690489010.7,1585.47,direct, +2023-02-01,1647.46,1558.29,1585.47,499248.21,797147606.94,1641.61,direct, +2023-02-02,1711.99,1630.57,1641.61,585655.08,980080354.31,1642.74,direct, +2023-02-03,1675.35,1628.58,1642.74,426503.46,704445423.97,1663.97,direct, +2023-02-04,1694.8,1646.23,1663.97,247213.27,412803098.7,1666.89,direct, +2023-02-05,1673.2,1611.8,1666.89,277758.07,456219066.62,1629.8,direct, +2023-02-06,1657.56,1607.64,1629.8,303435.45,495673231.02,1614.31,direct, +2023-02-07,1677.31,1613.44,1614.31,387245.7,637931660.04,1671.61,direct, +2023-02-08,1697.58,1631.15,1671.61,388811.42,646763538.23,1650.95,direct, +2023-02-09,1655.68,1527.63,1650.95,542952.15,867896690.84,1545.78,direct, +2023-02-10,1554.37,1496.52,1545.78,493802.96,756041189.81,1513.79,direct, +2023-02-11,1542.93,1508.54,1513.79,171058.2,260403379.72,1538.79,direct, +2023-02-12,1547.62,1495.57,1538.79,228435.36,349138047.41,1515.42,direct, +2023-02-13,1525.82,1464.59,1515.42,536302.59,800954432.79,1506.37,direct, +2023-02-14,1567.02,1494.06,1506.37,449350.95,687412621.55,1556.14,direct, +2023-02-15,1678.37,1543.35,1556.14,479383.43,772032249.88,1675.34,direct, +2023-02-16,1741.06,1634.58,1675.34,609138.06,1030465375.37,1638.41,direct, +2023-02-17,1721.57,1632.29,1638.41,449742.27,754132750.16,1694.3,direct, +2023-02-18,1710.86,1681.41,1694.3,181450.94,307506654.43,1691.98,direct, +2023-02-19,1725.04,1668.29,1691.98,299100.82,507142415.32,1681.25,direct, +2023-02-20,1719.4,1652.65,1681.25,299670.15,508356423.43,1703.53,direct, +2023-02-21,1716.4,1637.57,1703.53,393619.14,659946431.8,1659.64,direct, +2023-02-22,1665.93,1598.66,1659.64,519119.41,846194678.13,1643.28,direct, +2023-02-23,1678.49,1630.04,1643.28,422628.5,699286522.36,1650.59,direct, +2023-02-24,1664.27,1577.26,1650.59,493843.99,799273822.59,1607.86,direct, +2023-02-25,1608.73,1560.62,1607.86,222642.81,354192771.97,1594.76,direct, +2023-02-26,1648.88,1588.49,1594.76,229895.87,371839019.93,1641.47,direct, +2023-02-27,1664.42,1609.58,1641.47,365892.0,599201102.41,1633.45,direct, +2023-02-28,1647.24,1598.81,1633.45,280478.52,456485843.68,1604.71,direct, +2023-03-01,1669.0,1597.2,1604.71,351083.83,578179739.94,1665.59,direct, +2023-03-02,1677.38,1619.77,1665.59,336265.69,551927025.83,1647.77,direct, +2023-03-03,1648.9,1548.37,1647.77,455419.93,715836604.91,1569.61,direct, +2023-03-04,1577.08,1550.37,1569.61,112641.62,176475467.06,1566.92,direct, +2023-03-05,1587.46,1556.08,1566.92,176988.97,277871195.33,1564.75,direct, +2023-03-06,1582.34,1555.75,1564.75,246183.73,385747263.69,1565.91,direct, +2023-03-07,1582.88,1536.97,1565.91,344845.82,537679741.24,1561.63,direct, +2023-03-08,1570.15,1527.78,1561.63,343689.43,533803722.68,1532.6,direct, +2023-03-09,1545.34,1409.71,1532.6,573497.49,855796464.32,1437.65,direct, +2023-03-10,1438.2,1372.22,1437.65,833933.25,1175874332.49,1431.49,direct, +2023-03-11,1491.16,1417.78,1431.49,555267.83,809481849.2,1483.07,direct, +2023-03-12,1605.89,1460.07,1483.07,411778.83,628896505.51,1591.33,direct, +2023-03-13,1699.86,1571.05,1591.33,616690.37,1009582703.22,1681.01,direct, +2023-03-14,1783.34,1664.87,1681.01,688753.75,1185297782.17,1705.17,direct, +2023-03-15,1721.91,1615.53,1705.17,567381.86,946357462.39,1656.21,direct, +2023-03-16,1694.39,1638.35,1656.21,338710.86,563006840.25,1677.0,direct, +2023-03-17,1802.23,1666.0,1677.0,554269.89,961818992.47,1793.32,direct, +2023-03-18,1843.84,1753.25,1793.32,439833.57,793051388.14,1763.2,direct, +2023-03-19,1845.85,1762.62,1763.2,336614.23,607264809.62,1785.0,direct, +2023-03-20,1807.87,1729.07,1785.0,452201.95,799494603.33,1738.45,direct, +2023-03-21,1838.29,1724.38,1738.45,424932.74,761061989.02,1807.45,direct, +2023-03-22,1822.96,1717.19,1807.45,464597.07,826127727.45,1738.86,direct, +2023-03-23,1858.54,1733.86,1738.86,417373.61,749857794.99,1817.28,direct, +2023-03-24,1821.91,1728.85,1817.28,390968.48,692388082.29,1751.74,direct, +2023-03-25,1764.13,1715.84,1751.74,204691.08,357271103.53,1743.88,direct, +2023-03-26,1798.66,1741.34,1743.88,220037.43,389448245.46,1775.76,direct, +2023-03-27,1781.72,1688.56,1775.76,314790.83,545397092.89,1716.16,direct, +2023-03-28,1794.86,1703.06,1716.16,311844.14,544294327.38,1773.53,direct, +2023-03-29,1826.03,1773.32,1773.53,336014.87,605332954.59,1793.51,direct, +2023-03-30,1828.46,1764.84,1793.51,360783.42,646886411.85,1794.03,direct, +2023-03-31,1846.28,1781.63,1794.03,347679.36,631389802.21,1822.21,direct, +2023-04-01,1841.83,1811.11,1822.21,165134.71,301100633.35,1821.54,direct, +2023-04-02,1825.78,1774.44,1821.54,158638.9,286012910.07,1795.54,direct, +2023-04-03,1839.73,1764.78,1795.54,368332.85,663604964.51,1811.0,direct, +2023-04-04,1889.35,1803.18,1811.0,379324.52,703327498.69,1871.62,direct, +2023-04-05,1937.35,1865.39,1871.62,355296.51,677858151.04,1909.49,direct, +2023-04-06,1910.37,1855.02,1909.49,233931.69,439091408.11,1873.09,direct, +2023-04-07,1882.97,1844.16,1873.09,141806.78,263921571.84,1864.8,direct, +2023-04-08,1880.04,1848.68,1864.8,91822.2,171175963.89,1849.9,direct, +2023-04-09,1874.06,1827.85,1849.9,150710.07,278441777.69,1859.71,direct, +2023-04-10,1919.26,1847.92,1859.71,237347.24,446014670.29,1911.12,direct, +2023-04-11,1937.06,1883.75,1911.12,263611.05,504030459.8,1891.58,direct, +2023-04-12,1932.82,1856.13,1891.58,343635.37,652641790.0,1918.78,direct, +2023-04-13,2022.52,1901.41,1918.78,454470.0,900185811.88,2013.84,direct, +2023-04-14,2129.38,2011.42,2013.84,567751.61,1189296215.35,2101.61,direct, +2023-04-15,2112.59,2074.56,2101.61,188765.75,395920749.36,2092.42,direct, +2023-04-16,2138.72,2075.13,2092.42,208495.07,439430093.13,2120.19,direct, +2023-04-17,2120.96,2058.71,2120.19,264331.26,550856982.99,2075.87,direct, +2023-04-18,2124.06,2055.87,2075.87,243083.78,508702237.61,2104.28,direct, +2023-04-19,2105.48,1925.75,2104.28,436275.5,871335217.98,1936.48,direct, +2023-04-20,1982.26,1916.92,1936.48,335377.47,652855824.12,1943.17,direct, +2023-04-21,1956.0,1827.76,1943.17,400925.34,758708001.48,1849.16,direct, +2023-04-22,1888.45,1843.68,1849.16,130459.26,243145886.27,1874.46,direct, +2023-04-23,1882.07,1839.05,1874.46,161389.41,300202164.24,1862.42,direct, +2023-04-24,1888.97,1808.14,1862.42,309082.99,570418825.66,1842.51,direct, +2023-04-25,1877.92,1803.15,1842.51,269515.7,493852107.68,1866.48,direct, +2023-04-26,1964.56,1791.61,1866.48,475232.22,897796617.83,1866.8,direct, +2023-04-27,1939.03,1862.59,1866.8,412175.38,784236238.33,1909.41,direct, +2023-04-28,1924.61,1876.29,1909.41,222691.19,423090084.55,1892.75,direct, +2023-04-29,1918.58,1887.98,1892.75,88851.57,169047001.72,1909.22,direct, +2023-04-30,1939.31,1868.77,1909.22,165939.24,316756485.36,1870.13,direct, +2023-05-01,1887.16,1807.09,1870.13,268202.49,492872552.79,1831.54,direct, +2023-05-02,1882.03,1824.09,1831.54,198124.49,366870722.06,1871.77,direct, +2023-05-03,1916.58,1844.51,1871.77,233409.52,437601105.03,1905.9,direct, +2023-05-04,1916.41,1868.69,1905.9,166067.44,314145630.01,1878.56,direct, +2023-05-05,2000.05,1877.26,1878.56,346562.79,676182164.32,1996.34,direct, +2023-05-06,2018.91,1867.16,1996.34,257036.36,496216214.4,1901.99,direct, +2023-05-07,1939.12,1877.69,1901.99,164140.81,313672271.4,1879.53,direct, +2023-05-08,1893.1,1816.3,1879.53,343925.14,638772846.26,1853.92,direct, +2023-05-09,1862.94,1838.42,1853.92,182197.16,336685938.48,1849.03,direct, +2023-05-10,1888.01,1791.85,1849.03,313458.29,579403452.06,1842.72,direct, +2023-05-11,1842.82,1773.97,1842.72,240812.66,435099364.92,1795.53,direct, +2023-05-12,1816.26,1740.15,1795.53,262047.99,464706866.79,1808.22,direct, +2023-05-13,1816.87,1787.61,1808.22,96353.52,173531756.47,1796.24,direct, +2023-05-14,1824.18,1792.21,1796.24,93798.0,169253497.17,1800.22,direct, +2023-05-15,1847.09,1786.85,1800.22,207562.44,379144629.16,1816.85,direct, +2023-05-16,1832.01,1797.37,1816.85,157196.76,285722212.27,1824.52,direct, +2023-05-17,1836.04,1785.04,1824.52,162996.26,295347664.72,1822.22,direct, +2023-05-18,1831.47,1772.07,1822.22,144606.64,261553565.72,1800.56,direct, +2023-05-19,1829.63,1797.46,1800.56,109792.14,198952431.71,1812.73,direct, +2023-05-20,1829.44,1807.55,1812.73,64293.64,116841085.33,1820.02,direct, +2023-05-21,1828.49,1798.64,1820.02,60695.74,109970551.63,1805.42,direct, +2023-05-22,1828.7,1792.62,1805.42,109972.68,199548184.13,1817.8,direct, +2023-05-23,1870.55,1815.79,1817.8,156721.96,290114463.45,1854.47,direct, +2023-05-24,1854.74,1777.98,1854.47,171834.82,310434805.24,1799.99,direct, +2023-05-25,1817.69,1761.75,1799.99,153480.81,275228334.04,1806.11,direct, +2023-05-26,1838.54,1797.46,1806.11,119973.16,218668423.06,1828.69,direct, +2023-05-27,1836.86,1814.38,1828.69,49278.14,90078261.96,1830.95,direct, +2023-05-28,1917.62,1824.49,1830.95,139027.22,259880536.56,1909.21,direct, +2023-05-29,1927.64,1875.38,1909.21,149165.89,283589655.62,1893.01,direct, +2023-05-30,1917.47,1882.96,1893.01,158504.16,301905745.51,1901.24,direct, +2023-05-31,1907.59,1851.44,1901.24,171032.95,319930041.62,1874.04,direct, +2023-06-01,1888.47,1841.19,1874.04,166829.23,311155056.58,1862.13,direct, +2023-06-02,1910.5,1849.85,1862.13,171478.83,324275572.7,1907.37,direct, +2023-06-03,1909.45,1883.71,1907.37,69587.45,132144554.16,1892.61,direct, +2023-06-04,1913.26,1885.2,1892.61,73558.24,139806530.66,1890.3,direct, +2023-06-05,1891.21,1779.8,1890.3,258887.93,474899526.62,1811.48,direct, +2023-06-06,1897.79,1797.74,1811.48,216477.48,399476048.35,1886.16,direct, +2023-06-07,1898.91,1821.08,1886.16,199193.08,370238233.18,1832.43,direct, +2023-06-08,1861.16,1829.02,1832.43,96261.36,177737539.02,1846.21,direct, +2023-06-09,1855.16,1828.0,1846.21,105138.85,193583189.28,1840.48,direct, +2023-06-10,1845.07,1718.66,1840.48,273992.5,481724796.62,1752.48,direct, +2023-06-11,1777.47,1739.65,1752.48,97970.52,171878475.19,1753.15,direct, +2023-06-12,1759.08,1720.86,1753.15,157381.37,273545220.68,1742.62,direct, +2023-06-13,1765.66,1725.17,1742.62,165002.97,287453710.84,1739.25,direct, +2023-06-14,1749.84,1630.94,1739.25,191178.39,324665946.37,1650.7,direct, +2023-06-15,1677.89,1622.92,1650.7,225751.52,371702378.42,1665.41,direct, +2023-06-16,1727.23,1650.03,1665.41,146958.16,247780863.14,1716.91,direct, +2023-06-17,1768.12,1713.53,1716.91,76452.08,132745656.41,1727.25,direct, +2023-06-18,1747.39,1713.47,1727.25,61009.24,105602122.72,1720.48,direct, +2023-06-19,1750.26,1702.03,1720.48,110031.81,189749750.87,1736.73,direct, +2023-06-20,1796.18,1714.44,1736.73,204570.14,359748503.71,1792.69,direct, +2023-06-21,1901.02,1787.62,1792.69,326632.01,603490868.43,1889.69,direct, +2023-06-22,1932.82,1866.94,1889.69,226542.84,430161632.98,1872.42,direct, +2023-06-23,1935.26,1863.14,1872.42,191904.79,364038719.03,1893.48,direct, +2023-06-24,1906.26,1866.08,1893.48,85476.79,161188596.14,1875.93,direct, +2023-06-25,1929.77,1870.04,1875.93,128142.22,243800290.41,1899.46,direct, +2023-06-26,1908.52,1838.27,1899.46,153768.1,287965017.19,1859.19,direct, +2023-06-27,1912.2,1855.92,1859.19,149993.23,282641840.12,1889.74,direct, +2023-06-28,1890.26,1820.3,1889.74,158955.73,294382779.89,1827.52,direct, +2023-06-29,1879.17,1826.88,1827.52,117361.57,217532845.26,1851.93,direct, +2023-06-30,1946.14,1824.73,1851.93,335941.49,635104963.08,1933.48,direct, +2023-07-01,1943.89,1909.05,1933.48,88636.36,170397037.04,1924.3,direct, +2023-07-02,1959.51,1886.75,1924.3,134919.27,259514815.89,1937.44,direct, +2023-07-03,1976.31,1933.99,1937.44,170186.19,333405635.89,1955.83,direct, +2023-07-04,1966.38,1931.81,1955.83,93685.63,182873333.23,1936.34,direct, +2023-07-05,1942.51,1895.33,1936.34,117749.57,225507171.76,1910.28,direct, +2023-07-06,1957.25,1846.48,1910.28,196723.96,373033691.49,1846.86,direct, +2023-07-07,1877.78,1826.8,1846.86,127491.73,236971190.92,1870.73,direct, +2023-07-08,1872.85,1842.93,1870.73,66899.66,124467657.2,1865.62,direct, +2023-07-09,1879.02,1857.09,1865.62,56100.03,104769323.22,1863.11,direct, +2023-07-10,1905.57,1847.6,1863.11,132393.38,247863372.99,1880.69,direct, +2023-07-11,1890.82,1862.55,1880.69,93077.03,174538014.5,1878.6,direct, +2023-07-12,1903.03,1864.77,1878.6,143531.13,270552911.54,1871.86,direct, +2023-07-13,2013.59,1863.17,1871.86,336321.07,656146600.29,2005.66,direct, +2023-07-14,2028.86,1899.64,2005.66,266774.67,525981216.45,1939.13,direct, +2023-07-15,1946.91,1927.46,1939.13,63933.98,123729794.93,1931.9,direct, +2023-07-16,1943.86,1915.46,1931.9,60485.37,116783238.98,1923.33,direct, +2023-07-17,1936.59,1874.02,1923.33,179579.92,342242500.98,1911.51,direct, +2023-07-18,1917.44,1876.85,1911.51,170045.43,322881946.41,1897.93,direct, +2023-07-19,1921.32,1882.24,1897.93,146818.28,279593446.33,1888.88,direct, +2023-07-20,1928.85,1878.31,1888.88,151204.87,287226212.67,1891.68,direct, +2023-07-21,1905.18,1884.79,1891.68,82560.59,156324620.25,1891.91,direct, +2023-07-22,1897.37,1853.31,1891.91,62592.45,117558789.03,1866.26,direct, +2023-07-23,1905.01,1858.65,1866.26,88279.01,165954571.75,1888.7,direct, +2023-07-24,1890.63,1833.64,1888.7,187696.48,347755481.73,1849.84,direct, +2023-07-25,1867.83,1845.57,1849.84,88203.66,163772939.69,1857.52,direct, +2023-07-26,1887.46,1848.39,1857.52,116683.27,217527630.36,1871.94,direct, +2023-07-27,1885.84,1854.73,1871.94,92383.74,172787744.07,1860.95,direct, +2023-07-28,1882.12,1856.41,1860.95,84351.19,157789485.07,1874.31,direct, +2023-07-29,1886.18,1869.86,1874.31,35928.61,67415873.78,1880.94,direct, +2023-07-30,1885.29,1849.69,1880.94,69252.76,129280681.83,1861.71,direct, +2023-07-31,1876.52,1850.88,1861.71,108149.0,201325230.51,1856.07,direct, +2023-08-01,1874.71,1813.2,1856.07,219811.26,404106186.79,1872.94,direct, +2023-08-02,1878.71,1820.57,1872.94,152547.91,281914610.59,1839.06,direct, +2023-08-03,1857.31,1824.41,1839.06,113475.6,208781022.88,1834.44,direct, +2023-08-04,1849.57,1815.29,1834.44,118423.94,217376900.95,1827.52,direct, +2023-08-05,1837.2,1824.72,1827.52,40010.91,73251409.33,1834.91,direct, +2023-08-06,1836.76,1824.31,1834.91,42060.51,76987964.04,1827.82,direct, +2023-08-07,1844.03,1800.89,1827.82,138709.14,252897445.87,1827.07,direct, +2023-08-08,1875.24,1824.41,1827.07,153805.96,284338360.77,1855.73,direct, +2023-08-09,1870.64,1844.66,1855.73,108506.67,201298413.81,1854.13,direct, +2023-08-10,1864.25,1844.4,1854.13,72698.14,134636694.09,1850.69,direct, +2023-08-11,1855.22,1837.52,1850.69,74421.66,137386121.19,1847.01,direct, +2023-08-12,1852.58,1845.37,1847.01,35131.13,64955035.38,1849.05,direct, +2023-08-13,1860.05,1833.44,1849.05,44008.47,81312082.61,1839.1,direct, +2023-08-14,1854.17,1833.56,1839.1,80502.41,148540729.66,1844.02,direct, +2023-08-15,1845.58,1811.81,1844.02,68162.23,125011730.34,1827.22,direct, +2023-08-16,1829.43,1796.22,1827.22,114055.25,207251449.01,1805.68,direct, +2023-08-17,1808.08,1539.71,1805.68,311454.01,536285675.54,1681.86,direct, +2023-08-18,1698.96,1642.36,1681.86,243981.89,408397754.21,1661.06,direct, +2023-08-19,1695.24,1653.99,1661.06,85394.75,142635494.7,1669.67,direct, +2023-08-20,1693.96,1662.12,1669.67,77051.86,129059033.39,1685.38,direct, +2023-08-21,1687.71,1649.35,1685.38,133136.43,222332757.44,1667.27,direct, +2023-08-22,1669.16,1581.95,1667.27,187467.97,306945535.25,1634.2,direct, +2023-08-23,1697.8,1629.21,1634.2,197774.97,328754707.14,1679.48,direct, +2023-08-24,1683.0,1636.51,1679.48,136664.31,226405269.35,1660.49,direct, +2023-08-25,1675.08,1634.79,1660.49,152720.26,252255518.59,1652.94,direct, +2023-08-26,1654.84,1643.21,1652.94,33731.42,55620001.42,1646.3,direct, +2023-08-27,1659.42,1645.5,1646.3,41201.06,68096348.56,1657.6,direct, +2023-08-28,1662.62,1622.44,1657.6,106796.28,175729804.69,1652.23,direct, +2023-08-29,1745.02,1639.18,1652.23,216412.52,368668370.72,1729.47,direct, +2023-08-30,1730.79,1696.57,1729.47,112819.92,193150731.62,1705.54,direct, +2023-08-31,1724.52,1630.59,1705.54,180255.65,302643903.33,1645.67,direct, +2023-09-01,1654.2,1602.42,1645.67,140651.12,229498072.95,1628.5,direct, +2023-09-02,1644.59,1627.55,1628.5,44393.24,72555139.35,1636.88,direct, +2023-09-03,1646.59,1625.31,1636.88,51337.47,83966379.5,1635.73,direct, +2023-09-04,1644.25,1616.63,1635.73,65026.54,106013797.76,1629.77,direct, +2023-09-05,1646.42,1609.29,1629.77,95441.69,155518220.93,1633.84,direct, +2023-09-06,1668.57,1610.07,1633.84,115556.69,188598692.83,1632.35,direct, +2023-09-07,1658.27,1622.99,1632.35,108968.15,178412273.49,1647.63,direct, +2023-09-08,1657.9,1616.21,1647.63,113538.47,185669489.48,1636.13,direct, +2023-09-09,1636.97,1629.5,1636.13,29804.48,48704224.64,1635.28,direct, +2023-09-10,1635.6,1601.75,1635.28,87587.77,141771372.58,1616.8,direct, +2023-09-11,1618.6,1531.48,1616.8,222845.65,350466218.83,1551.73,direct, +2023-09-12,1622.8,1549.47,1551.73,182674.67,290912585.31,1593.01,direct, +2023-09-13,1602.71,1581.83,1593.01,44613.62,71030413.12,1589.01,direct, diff --git a/examples/notebooks/nbeats_timeseries_forecasting.ipynb b/examples/notebooks/nbeats_timeseries_forecasting.ipynb new file mode 100644 index 000000000..10e3a7420 --- /dev/null +++ b/examples/notebooks/nbeats_timeseries_forecasting.ipynb @@ -0,0 +1,976 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "TB8jFLoLwZ8K" + }, + "source": [ + "# N-BEATS Time Series Forecasting\n", + "In this tutorial we utilize the N-BEATS (Neural basis expansion analysis for interpretable time series forecasting\n", + ") for forecasting the price of ethereum.\n", + "\n", + "For more details regarding N-BEATS, visit this link [https://arxiv.org/abs/1905.10437](https://arxiv.org/abs/1905.10437)\n", + "\n", + "The code for N-BEATS used is adapted from [nbeats-pytorch](https://pypi.org/project/nbeats-pytorch/)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Ccy0MgZLwY1Z" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import torch\n", + "from torch import nn, optim\n", + "from torch.nn import functional as F\n", + "from torch.nn.functional import mse_loss, l1_loss, binary_cross_entropy, cross_entropy\n", + "from torch.optim import Optimizer\n", + "import matplotlib.pyplot as plt\n", + "import requests\n", + "import json\n", + "from torch.utils.data import DataLoader, TensorDataset\n", + "import numpy as np\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ovxRhGv0xS0i" + }, + "outputs": [], + "source": [ + "# Fetch data\n", + "coins = [\"ETH\"]\n", + "days_ago_to_fetch = 2000 # 7 years\n", + "coin_history = {}\n", + "hist_length = 0\n", + "average_returns = {}\n", + "cumulative_returns = {}\n", + "\n", + "def index_history_coin(hist):\n", + " hist = hist.set_index('time')\n", + " hist.index = pd.to_datetime(hist.index, unit='s')\n", + " return hist\n", + "\n", + "def filter_history_by_date(hist):\n", + " result = hist[hist.index.year >= 2017]\n", + " return result\n", + "\n", + "def fetch_history_coin(coin):\n", + " endpoint_url = \"https://min-api.cryptocompare.com/data/histoday?fsym={}&tsym=USD&limit={:d}\".format(coin, days_ago_to_fetch)\n", + " res = requests.get(endpoint_url)\n", + " hist = pd.DataFrame(json.loads(res.content)['Data'])\n", + " hist = index_history_coin(hist)\n", + " hist = filter_history_by_date(hist)\n", + " return hist\n", + "\n", + "def get_history_from_file(filename):\n", + " return pd.read_csv(filename)\n", + "\n", + "\n", + "for coin in coins:\n", + " coin_history[coin] = fetch_history_coin(coin)\n", + "\n", + "hist_length = len(coin_history[coins[0]])\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "CNeFMmvpx5ig" + }, + "outputs": [], + "source": [ + "# save to file\n", + "# coin_history['ETH'].to_csv(\"eth_price.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "_wPJcU8EyOsF" + }, + "outputs": [], + "source": [ + "# read from file\n", + "coin_history['ETH'] = get_history_from_file(\"eth_price.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ij_DBZl7yQqE", + "outputId": "3b7838de-fa00-4560-cbcb-62c11e311a0f" + }, + "outputs": [], + "source": [ + "# calculate returns\n", + "\n", + "def add_all_returns():\n", + " for coin in coins:\n", + " hist = coin_history[coin]\n", + " hist['return'] = (hist['close'] - hist['open']) / hist['open']\n", + " average = hist[\"return\"].mean()\n", + " average_returns[coin] = average\n", + " cumulative_returns[coin] = (hist[\"return\"] + 1).prod() - 1\n", + " hist['excess_return'] = hist['return'] - average\n", + " coin_history[coin] = hist\n", + "\n", + "add_all_returns()\n", + "\n", + "# display data\n", + "cumulative_returns" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "nW3xWLCNyeGN", + "outputId": "a5d7f42b-447b-4ec4-8b42-4bd845ba3b3b" + }, + "outputs": [], + "source": [ + "# average return per day\n", + "average_returns" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "J9AOW3czykk-", + "outputId": "23d9564c-ae0e-4bb4-cf3e-bdb46e9e1639" + }, + "outputs": [], + "source": [ + "# Excess matrix\n", + "excess_matrix = np.zeros((hist_length, len(coins)))\n", + "\n", + "for i in range(0, hist_length):\n", + " for idx, coin in enumerate(coins):\n", + " excess_matrix[i][idx] = coin_history[coin].iloc[i]['excess_return']\n", + "\n", + "excess_matrix" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 424 + }, + "id": "A3GuFe_-yq_Q", + "outputId": "3313aa46-88ef-4dbb-e07d-6cc6c9584eb9" + }, + "outputs": [], + "source": [ + "# pretty print excess matrix\n", + "pretty_matrix = pd.DataFrame(excess_matrix).copy()\n", + "pretty_matrix.columns = coins\n", + "pretty_matrix.index = coin_history[coins[0]].index\n", + "\n", + "pretty_matrix" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "rRYQ63frys8K", + "outputId": "d4df3245-f4e6-4511-dd8a-7c7e52cb4982" + }, + "outputs": [], + "source": [ + "# Risk modelling\n", + "\n", + "# variance co-var matrix\n", + "product_matrix = np.matmul(excess_matrix.transpose(), excess_matrix)\n", + "var_covar_matrix = product_matrix / hist_length\n", + "\n", + "var_covar_matrix" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 81 + }, + "id": "F_0y258Iz2-1", + "outputId": "f161c55d-5600-41da-f065-821c87340f33" + }, + "outputs": [], + "source": [ + "# pretty var_covar\n", + "pretty_var_covar = pd.DataFrame(var_covar_matrix).copy()\n", + "pretty_var_covar.columns = coins\n", + "pretty_var_covar.index = coins\n", + "\n", + "pretty_var_covar" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "_HS7sq_Xz4Js" + }, + "outputs": [], + "source": [ + "# Std dev\n", + "\n", + "std_dev = np.zeros((len(coins), 1))\n", + "neg_std_dev = np.zeros((len(coins), 1))\n", + "\n", + "for idx, coin in enumerate(coins):\n", + " std_dev[idx][0] = np.std(coin_history[coin]['return'])\n", + " coin_history[coin]['downside_return'] = 0\n", + "\n", + " coin_history[coin].loc[coin_history[coin]['return'] < 0,\n", + " 'downside_return'] = coin_history[coin]['return']**2\n", + " neg_std_dev[idx][0] = np.sqrt(coin_history[coin]['downside_return'].mean())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 81 + }, + "id": "gLpf-k1az77u", + "outputId": "d6dc063f-05b7-4a9f-de59-cc60b0cfee5e" + }, + "outputs": [], + "source": [ + "# pretty std\n", + "pretty_std = pd.DataFrame(std_dev).copy()\n", + "pretty_neg_std = pd.DataFrame(neg_std_dev).copy()\n", + "pretty_comb = pd.concat([pretty_std, pretty_neg_std], axis=1)\n", + "\n", + "pretty_comb.columns = ['std dev', 'neg std dev']\n", + "pretty_comb.index = coins\n", + "\n", + "pretty_comb" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "MAd19PQcz9A5" + }, + "outputs": [], + "source": [ + "# std_product_mat\n", + "std_product_matrix = np.matmul(std_dev, std_dev.transpose())\n", + "\n", + "# neg_prod_mat\n", + "neg_std_product_matrix = np.matmul(neg_std_dev, neg_std_dev.transpose())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 81 + }, + "id": "O8aD5ZiYz-8E", + "outputId": "945391f5-8e3b-4369-cc0c-1cf927f72ef2" + }, + "outputs": [], + "source": [ + "pretty_std_prod = pd.DataFrame(std_product_matrix).copy()\n", + "pretty_std_prod.columns = coins\n", + "pretty_std_prod.index = coins\n", + "\n", + "pretty_std_prod" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 81 + }, + "id": "KecwUguO0Ago", + "outputId": "f77f4bd2-3314-4d7e-8525-078825a83a8c" + }, + "outputs": [], + "source": [ + "# Corr matrix\n", + "corr_matrix = var_covar_matrix / std_product_matrix\n", + "pretty_corr = pd.DataFrame(corr_matrix).copy()\n", + "pretty_corr.columns = coins\n", + "pretty_corr.index = coins\n", + "\n", + "pretty_corr" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 424 + }, + "id": "m62kaZFu0C0p", + "outputId": "b3c10014-afe1-4cdb-e5a3-3a1361b54501" + }, + "outputs": [], + "source": [ + "# see additional stuff we have added to the DF\n", + "coin_history['ETH']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JdtkDBc90rM6", + "outputId": "19d1c7af-809e-4b1b-a1a0-b50bba67d425" + }, + "outputs": [], + "source": [ + "def simulate_portfolio_growth(initial_amount, daily_returns):\n", + " portfolio_value = [initial_amount]\n", + " for ret in daily_returns:\n", + " portfolio_value.append(portfolio_value[-1] * (1 + ret))\n", + " return portfolio_value\n", + "\n", + "initial_investment = 100000\n", + "\n", + "eth_portfolio = simulate_portfolio_growth(initial_investment, coin_history[\"ETH\"]['return'])\n", + "\n", + "print(\"ETH Portfolio Growth:\", eth_portfolio)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 564 + }, + "id": "ADBacxHA27v0", + "outputId": "3f5f8f35-4efc-473d-a5af-12515fa897b6" + }, + "outputs": [], + "source": [ + "# Plotting the growth\n", + "plt.figure(figsize=(10,6))\n", + "plt.plot(eth_portfolio, label='ETH Portfolio', color='blue')\n", + "plt.title('Portfolio Growth Over Time')\n", + "plt.xlabel('Days')\n", + "plt.ylabel('Portfolio Value')\n", + "plt.legend()\n", + "plt.grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "fWAx5OZ-302J", + "outputId": "a94346ac-4c16-428d-eac1-d8fbbd9208b4" + }, + "outputs": [], + "source": [ + "# close dataframe\n", + "eth_df = coin_history['ETH'][['close']].copy()\n", + "\n", + "# Convert to tensor\n", + "close_tensor = torch.tensor(eth_df.values)\n", + "\n", + "# return dataframe\n", + "eth_df = coin_history['ETH'][['return']].copy()\n", + "\n", + "# Convert to tensor\n", + "return_tensor = torch.tensor(eth_df.values)\n", + "\n", + "# return_tensor = torch.tensor(eth_df.values)\n", + "print(close_tensor)\n", + "print(return_tensor)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "4M6hIqZ15aqs" + }, + "outputs": [], + "source": [ + "# Adapted from https://pypi.org/project/nbeats-pytorch/\n", + "# author = {Philippe Remy},\n", + "\n", + "def squeeze_last_dim(tensor):\n", + " if len(tensor.shape) == 3 and tensor.shape[-1] == 1: # (128, 10, 1) => (128, 10).\n", + " return tensor[..., 0]\n", + " return tensor\n", + "\n", + "\n", + "def seasonality_model(thetas, t, device):\n", + " p = thetas.size()[-1]\n", + " assert p <= thetas.shape[1], 'thetas_dim is too big.'\n", + " p1, p2 = (p // 2, p // 2) if p % 2 == 0 else (p // 2, p // 2 + 1)\n", + " s1 = torch.tensor(np.array([np.cos(2 * np.pi * i * t) for i in range(p1)])).float() # H/2-1\n", + " s2 = torch.tensor(np.array([np.sin(2 * np.pi * i * t) for i in range(p2)])).float()\n", + " S = torch.cat([s1, s2])\n", + " return thetas.mm(S.to(device))\n", + "\n", + "\n", + "def trend_model(thetas, t, device):\n", + " p = thetas.size()[-1]\n", + " assert p <= 4, 'thetas_dim is too big.'\n", + " T = torch.tensor(np.array([t ** i for i in range(p)])).float()\n", + " return thetas.mm(T.to(device))\n", + "\n", + "\n", + "def linear_space(backcast_length, forecast_length, is_forecast=True):\n", + " horizon = forecast_length if is_forecast else backcast_length\n", + " return np.arange(0, horizon) / horizon\n", + "\n", + "class Block(nn.Module):\n", + "\n", + " def __init__(self, units, thetas_dim, device, backcast_length=10, forecast_length=5, share_thetas=False,\n", + " nb_harmonics=None):\n", + " super(Block, self).__init__()\n", + " self.units = units\n", + " self.thetas_dim = thetas_dim\n", + " self.backcast_length = backcast_length\n", + " self.forecast_length = forecast_length\n", + " self.share_thetas = share_thetas\n", + " self.fc1 = nn.Linear(backcast_length, units)\n", + " self.fc2 = nn.Linear(units, units)\n", + " self.fc3 = nn.Linear(units, units)\n", + " self.fc4 = nn.Linear(units, units)\n", + " self.device = device\n", + " self.backcast_linspace = linear_space(backcast_length, forecast_length, is_forecast=False)\n", + " self.forecast_linspace = linear_space(backcast_length, forecast_length, is_forecast=True)\n", + " if share_thetas:\n", + " self.theta_f_fc = self.theta_b_fc = nn.Linear(units, thetas_dim, bias=False)\n", + " else:\n", + " self.theta_b_fc = nn.Linear(units, thetas_dim, bias=False)\n", + " self.theta_f_fc = nn.Linear(units, thetas_dim, bias=False)\n", + "\n", + " def forward(self, x):\n", + " x = squeeze_last_dim(x)\n", + " x = F.relu(self.fc1(x.to(self.device)))\n", + " x = F.relu(self.fc2(x))\n", + " x = F.relu(self.fc3(x))\n", + " x = F.relu(self.fc4(x))\n", + " return x\n", + "\n", + " def __str__(self):\n", + " block_type = type(self).__name__\n", + " return f'{block_type}(units={self.units}, thetas_dim={self.thetas_dim}, ' \\\n", + " f'backcast_length={self.backcast_length}, forecast_length={self.forecast_length}, ' \\\n", + " f'share_thetas={self.share_thetas}) at @{id(self)}'\n", + "\n", + "\n", + "class SeasonalityBlock(Block):\n", + "\n", + " def __init__(self, units, thetas_dim, device, backcast_length=10, forecast_length=5, nb_harmonics=None):\n", + " if nb_harmonics:\n", + " super(SeasonalityBlock, self).__init__(units, nb_harmonics, device, backcast_length,\n", + " forecast_length, share_thetas=True)\n", + " else:\n", + " super(SeasonalityBlock, self).__init__(units, forecast_length, device, backcast_length,\n", + " forecast_length, share_thetas=True)\n", + "\n", + " def forward(self, x):\n", + " x = super(SeasonalityBlock, self).forward(x)\n", + " backcast = seasonality_model(self.theta_b_fc(x), self.backcast_linspace, self.device)\n", + " forecast = seasonality_model(self.theta_f_fc(x), self.forecast_linspace, self.device)\n", + " return backcast, forecast\n", + "\n", + "\n", + "class TrendBlock(Block):\n", + "\n", + " def __init__(self, units, thetas_dim, device, backcast_length=10, forecast_length=5, nb_harmonics=None):\n", + " super(TrendBlock, self).__init__(units, thetas_dim, device, backcast_length,\n", + " forecast_length, share_thetas=True)\n", + "\n", + " def forward(self, x):\n", + " x = super(TrendBlock, self).forward(x)\n", + " backcast = trend_model(self.theta_b_fc(x), self.backcast_linspace, self.device)\n", + " forecast = trend_model(self.theta_f_fc(x), self.forecast_linspace, self.device)\n", + " return backcast, forecast\n", + "\n", + "\n", + "\n", + "class GenericBlock(Block):\n", + "\n", + " def __init__(self, units, thetas_dim, device, backcast_length=10, forecast_length=5, nb_harmonics=None):\n", + " super(GenericBlock, self).__init__(units, thetas_dim, device, backcast_length, forecast_length)\n", + "\n", + " self.backcast_fc = nn.Linear(thetas_dim, backcast_length)\n", + " self.forecast_fc = nn.Linear(thetas_dim, forecast_length)\n", + "\n", + " def forward(self, x):\n", + " # no constraint for generic arch.\n", + " x = super(GenericBlock, self).forward(x)\n", + "\n", + " theta_b = self.theta_b_fc(x)\n", + " theta_f = self.theta_f_fc(x)\n", + "\n", + " backcast = self.backcast_fc(theta_b) # generic. 3.3.\n", + " forecast = self.forecast_fc(theta_f) # generic. 3.3.\n", + "\n", + " return backcast, forecast\n", + "\n", + "\n", + "class NBEATS(nn.Module):\n", + " SEASONALITY_BLOCK = 'seasonality'\n", + " TREND_BLOCK = 'trend'\n", + " GENERIC_BLOCK = 'generic'\n", + "\n", + " def __init__(\n", + " self,\n", + " device=torch.device(\"cpu\"),\n", + " stack_types=(GENERIC_BLOCK, GENERIC_BLOCK),\n", + " nb_blocks_per_stack=1,\n", + " forecast_length=7,\n", + " backcast_length=14,\n", + " theta_dims=(2,2),\n", + " share_weights_in_stack=False,\n", + " hidden_layer_units=32,\n", + " nb_harmonics=None,\n", + " ):\n", + " super(NBEATS, self).__init__()\n", + " self.forecast_length = forecast_length\n", + " self.backcast_length = backcast_length\n", + " self.hidden_layer_units = hidden_layer_units\n", + " self.nb_blocks_per_stack = nb_blocks_per_stack\n", + " self.share_weights_in_stack = share_weights_in_stack\n", + " self.nb_harmonics = nb_harmonics # for seasonal data\n", + " self.stack_types = stack_types\n", + " self.stacks = nn.ModuleList()\n", + " self.thetas_dim = theta_dims\n", + " self.device = device\n", + " print('| N-Beats')\n", + " for stack_id in range(len(self.stack_types)):\n", + " stack = self.create_stack(stack_id)\n", + " self.stacks.append(stack)\n", + " self.to(self.device)\n", + " # self.asset_weight_layer = nn.Softmax(dim=1)\n", + " # self.asset_classes = asset_classes\n", + "\n", + "\n", + " def create_stack(self, stack_id):\n", + " stack_type = self.stack_types[stack_id]\n", + " print(f'| -- Stack {stack_type.title()} (#{stack_id}) (share_weights_in_stack={self.share_weights_in_stack})')\n", + " blocks = nn.ModuleList()\n", + " for block_id in range(self.nb_blocks_per_stack):\n", + " block_init = NBEATS.select_block(stack_type)\n", + " if self.share_weights_in_stack and block_id != 0:\n", + " block = blocks[-1] # pick up the last one when we share weights.\n", + " else:\n", + " block = block_init(\n", + " self.hidden_layer_units, self.thetas_dim[stack_id],\n", + " self.device, self.backcast_length, self.forecast_length,\n", + " self.nb_harmonics\n", + " )\n", + " print(f' | -- {block}')\n", + " blocks.append(block)\n", + " return blocks\n", + "\n", + " @staticmethod\n", + " def select_block(block_type):\n", + " if block_type == NBEATS.SEASONALITY_BLOCK:\n", + " return SeasonalityBlock\n", + " elif block_type == NBEATS.TREND_BLOCK:\n", + " return TrendBlock\n", + " else:\n", + " return GenericBlock\n", + "\n", + "\n", + " def get_generic_and_interpretable_outputs(self):\n", + " g_pred = sum([a['value'][0] for a in self._intermediary_outputs if 'generic' in a['layer'].lower()])\n", + " i_pred = sum([a['value'][0] for a in self._intermediary_outputs if 'generic' not in a['layer'].lower()])\n", + " outputs = {o['layer']: o['value'][0] for o in self._intermediary_outputs}\n", + " return g_pred, i_pred,\n", + "\n", + " def forward(self, backcast):\n", + " self._intermediary_outputs = []\n", + " backcast = squeeze_last_dim(backcast)\n", + " forecast = torch.zeros(size=(backcast.size()[0], self.forecast_length,)) # maybe batch size here.\n", + " for stack_id in range(len(self.stacks)):\n", + " for block_id in range(len(self.stacks[stack_id])):\n", + " b, f = self.stacks[stack_id][block_id](backcast)\n", + " backcast = backcast.to(self.device) - b\n", + " forecast = forecast.to(self.device) + f\n", + " block_type = self.stacks[stack_id][block_id].__class__.__name__\n", + " layer_name = f'stack_{stack_id}-{block_type}_{block_id}'\n", + "\n", + " return backcast, forecast\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "tTH313qbRLMG", + "outputId": "34275438-5548-4a8b-f4a9-d96056ebde1c" + }, + "outputs": [], + "source": [ + "from torch.utils.data import Dataset, DataLoader\n", + "\n", + "class TimeSeriesDataset(Dataset):\n", + " def __init__(self, close_data, return_data, backcast_length, forecast_length, shuffle=True):\n", + " self.close_data = close_data\n", + " self.return_data = return_data\n", + " self.backcast_length = backcast_length\n", + " self.forecast_length = forecast_length\n", + " self.indices = list(range(len(self.close_data) - self.backcast_length - self.forecast_length + 1))\n", + " if shuffle:\n", + " np.random.shuffle(self.indices)\n", + "\n", + " def __len__(self):\n", + " return len(self.close_data) - self.backcast_length - self.forecast_length + 1\n", + "\n", + " def __getitem__(self, idx):\n", + " start = idx\n", + " end = idx + self.backcast_length\n", + " x = self.close_data[start:end] # Take columns as needed\n", + " y = self.close_data[end:end+self.forecast_length] # Adjust as per forecast columns needed\n", + " return x, y\n", + "\n", + "# Hyperparameters\n", + "BACKCAST_LENGTH = 14\n", + "FORECAST_LENGTH = 7\n", + "\n", + "train_length = round(len(close_tensor) * 0.7)\n", + "train_dataset = TimeSeriesDataset(close_tensor[0:train_length], return_tensor[0:train_length], BACKCAST_LENGTH, FORECAST_LENGTH)\n", + "test_dataset = TimeSeriesDataset(close_tensor[train_length:], return_tensor[train_length:], BACKCAST_LENGTH, FORECAST_LENGTH)\n", + "train_loader = DataLoader(train_dataset)\n", + "\n", + "model = NBEATS(forecast_length=FORECAST_LENGTH, backcast_length=BACKCAST_LENGTH, device=('cuda' if torch.cuda.is_available() else 'cpu'))\n", + "model = model.to('cuda' if torch.cuda.is_available() else 'cpu')\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JJ8-nh2GLKN_", + "outputId": "0d761daa-0f14-4a50-be41-b17993a4a182" + }, + "outputs": [], + "source": [ + "EPOCHS = 1\n", + "\n", + "num_parameters = sum(p.numel() for p in model.parameters() if p.requires_grad)\n", + "print(f\"Number of trainable parameters in model: {num_parameters}\")\n", + "\n", + "criterion = torch.nn.L1Loss()\n", + "optimizer = torch.optim.Adam(model.parameters(), lr=0.001)\n", + "\n", + "for epoch in range(EPOCHS):\n", + " total_loss = 0.0\n", + " for batch_idx, (x, y) in enumerate(train_loader):\n", + " # Zero gradients\n", + " optimizer.zero_grad()\n", + "\n", + " x = x.clone().detach().to(dtype=torch.float)\n", + " x = x.to('cuda' if torch.cuda.is_available() else 'cpu')\n", + " y = y.clone().detach().to(dtype=torch.float)\n", + " y = y.to('cuda' if torch.cuda.is_available() else 'cpu')\n", + "\n", + "\n", + " # Forward pass\n", + " forecast = model(x)\n", + "\n", + " loss = criterion(forecast[0], y)\n", + "\n", + " # Backprop and optimize\n", + " loss.backward()\n", + " optimizer.step()\n", + "\n", + " # add positive gain for logging\n", + " total_loss += loss # add the positive gain_loss for logging\n", + "\n", + " avg_loss = total_loss / len(train_loader)\n", + " print(f\"Epoch {epoch+1}/{EPOCHS}, Average Loss: {avg_loss:.4f}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "jWLKwNFLYDOk" + }, + "outputs": [], + "source": [ + "# check if notebook is in colab\n", + "try:\n", + " # install ezkl\n", + " import google.colab\n", + " import subprocess\n", + " import sys\n", + " subprocess.check_call([sys.executable, \"-m\", \"pip\", \"install\", \"ezkl\"])\n", + " subprocess.check_call([sys.executable, \"-m\", \"pip\", \"install\", \"onnx\"])\n", + "\n", + "# rely on local installation of ezkl if the notebook is not in colab\n", + "except:\n", + " pass\n", + "\n", + "import ezkl\n", + "import os\n", + "import json" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "dhOHiCmt4pUn" + }, + "outputs": [], + "source": [ + "model_path = os.path.join('network.onnx')\n", + "compiled_model_path = os.path.join('network.compiled')\n", + "pk_path = os.path.join('test.pk')\n", + "vk_path = os.path.join('test.vk')\n", + "settings_path = os.path.join('settings.json')\n", + "srs_path = os.path.join('kzg.srs')\n", + "witness_path = os.path.join('witness.json')\n", + "data_path = os.path.join('input.json')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "xsZ9xg7I48l4", + "outputId": "6dec08c6-f55e-4df1-b957-55d025286018" + }, + "outputs": [], + "source": [ + "# After training, export to onnx (network.onnx) and create a data file (input.json)\n", + "x_export = None\n", + "for batch_idx, (x, y) in enumerate(train_loader):\n", + " x_export = x.clone().detach().to(dtype=torch.float)\n", + " break\n", + "\n", + "# Flips the neural net into inference mode\n", + "model.eval()\n", + "\n", + " # Export the model\n", + "torch.onnx.export(model, # model being run\n", + " x_export, # model input (or a tuple for multiple inputs)\n", + " model_path, # where to save the model (can be a file or file-like object)\n", + " export_params=True, # store the trained parameter weights inside the model file\n", + " opset_version=10, # the ONNX version to export the model to\n", + " do_constant_folding=True, # whether to execute constant folding for optimization\n", + " input_names = ['input'], # the model's input names\n", + " output_names = ['output'], # the model's output names\n", + " dynamic_axes={'input' : {0 : 'batch_size'}, # variable length axes\n", + " 'output' : {0 : 'batch_size'}})\n", + "\n", + "data_array = ((x).detach().numpy()).reshape([-1]).tolist()\n", + "\n", + "data = dict(input_data = [data_array])\n", + "\n", + " # Serialize data into file:\n", + "json.dump( data, open(data_path, 'w' ))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "5qdEFK_75GUb" + }, + "outputs": [], + "source": [ + "!RUST_LOG=trace\n", + "# TODO: Dictionary outputs\n", + "res = ezkl.gen_settings(model_path, settings_path)\n", + "assert res == True\n", + "\n", + "res = await ezkl.calibrate_settings(data_path, model_path, settings_path, \"resources\")\n", + "assert res == True" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "pxDJPz-Q5LPF" + }, + "outputs": [], + "source": [ + "res = ezkl.compile_model(model_path, compiled_model_path, settings_path)\n", + "assert res == True" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ptcb4SGA5Qeb" + }, + "outputs": [], + "source": [ + "# srs path\n", + "res = ezkl.get_srs(srs_path, settings_path)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "OE7t0okU5WBQ" + }, + "outputs": [], + "source": [ + "res = ezkl.gen_witness(data_path, compiled_model_path, witness_path, settings_path = settings_path)\n", + "assert os.path.isfile(witness_path)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "12YIcFr85X9-" + }, + "outputs": [], + "source": [ + "res = ezkl.setup(\n", + " compiled_model_path,\n", + " vk_path,\n", + " pk_path,\n", + " srs_path,\n", + " settings_path,\n", + " )\n", + "\n", + "assert res == True\n", + "assert os.path.isfile(vk_path)\n", + "assert os.path.isfile(pk_path)\n", + "assert os.path.isfile(settings_path)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "CSbWeZB35awS" + }, + "outputs": [], + "source": [ + "proof_path = os.path.join('test.pf')\n", + "\n", + "res = ezkl.prove(\n", + " witness_path,\n", + " compiled_model_path,\n", + " pk_path,\n", + " proof_path,\n", + " srs_path,\n", + " \"evm\",\n", + " \"single\",\n", + " settings_path,\n", + " )\n", + "\n", + "print(res)\n", + "assert os.path.isfile(proof_path)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "aGt8f4LS5dTP" + }, + "outputs": [], + "source": [ + "# VERIFY IT\n", + "\n", + "res = ezkl.verify(\n", + " proof_path,\n", + " settings_path,\n", + " vk_path,\n", + " srs_path,\n", + " )\n", + "\n", + "assert res == True\n", + "print(\"verified\")" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "gpuType": "T4", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.15" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/tests/py_integration_tests.rs b/tests/py_integration_tests.rs index 52f7c928c..2c78483e1 100644 --- a/tests/py_integration_tests.rs +++ b/tests/py_integration_tests.rs @@ -144,11 +144,12 @@ mod py_tests { seq!(N in 0..=18 { + #(#[test_case(TESTS[N])])* fn run_notebook_(test: &str) { crate::py_tests::init_binary(); let mut anvil_child = crate::py_tests::start_anvil(); - let test_dir: TempDir = TempDir::new("example").unwrap(); + let test_dir: TempDir = TempDir::new("nb").unwrap(); let path = test_dir.path().to_str().unwrap(); crate::py_tests::mv_test_(path, test); run_notebook(path, test); @@ -160,7 +161,7 @@ mod py_tests { crate::py_tests::init_binary(); let mut anvil_child = crate::py_tests::start_anvil(); crate::py_tests::download_voice_data(); - let test_dir: TempDir = TempDir::new("example").unwrap(); + let test_dir: TempDir = TempDir::new("voice_judge").unwrap(); let path = test_dir.path().to_str().unwrap(); crate::py_tests::mv_test_(path, "voice_judge.ipynb"); run_notebook(path, "voice_judge.ipynb"); @@ -168,6 +169,16 @@ mod py_tests { anvil_child.kill().unwrap(); } + #[test] + fn nbeats_notebook_() { + crate::py_tests::init_binary(); + let test_dir: TempDir = TempDir::new("nbeats").unwrap(); + let path = test_dir.path().to_str().unwrap(); + crate::py_tests::mv_test_(path, "nbeats_timeseries_forecasting.ipynb"); + crate::py_tests::mv_test_(path, "eth_price.csv"); + run_notebook(path, "nbeats_timeseries_forecasting.ipynb"); + test_dir.close().unwrap(); + } }); }