├── .gitignore ├── .travis.yml ├── Historical data ├── 2000 │ ├── ASIANPAINT-2000.csv │ ├── BPCL-2000.csv │ ├── CIPLA-2000.csv │ ├── DRREDDY-2000.csv │ ├── EICHERMOT-2000.csv │ ├── GAIL-2000.csv │ ├── GRASIM-2000.csv │ ├── HCLTECH-2000.csv │ ├── HDFC-2000.csv │ ├── HDFCBANK-2000.csv │ ├── HINDPETRO-2000.csv │ ├── ICICIBANK-2000.csv │ ├── INDUSINDBK-2000.csv │ ├── IOC-2000.csv │ ├── ITC-2000.csv │ ├── ONGC-2000.csv │ ├── RELIANCE-2000.csv │ ├── SBIN-2000.csv │ ├── SUNPHARMA-2000.csv │ ├── TITAN-2000.csv │ └── WIPRO-2000.csv ├── 2001 │ ├── ASIANPAINT-2001.csv │ ├── BPCL-2001.csv │ ├── CIPLA-2001.csv │ ├── DRREDDY-2001.csv │ ├── EICHERMOT-2001.csv │ ├── GAIL-2001.csv │ ├── GRASIM-2001.csv │ ├── HCLTECH-2001.csv │ ├── HDFC-2001.csv │ ├── HDFCBANK-2001.csv │ ├── HINDPETRO-2001.csv │ ├── ICICIBANK-2001.csv │ ├── INDUSINDBK-2001.csv │ ├── IOC-2001.csv │ ├── ITC-2001.csv │ ├── ONGC-2001.csv │ ├── RELIANCE-2001.csv │ ├── SBIN-2001.csv │ ├── SUNPHARMA-2001.csv │ ├── TITAN-2001.csv │ └── WIPRO-2001.csv ├── 2002 │ ├── ASIANPAINT-2002.csv │ ├── BPCL-2002.csv │ ├── CIPLA-2002.csv │ ├── DRREDDY-2002.csv │ ├── EICHERMOT-2002.csv │ ├── GAIL-2002.csv │ ├── GRASIM-2002.csv │ ├── HCLTECH-2002.csv │ ├── HDFC-2002.csv │ ├── HDFCBANK-2002.csv │ ├── HINDPETRO-2002.csv │ ├── ICICIBANK-2002.csv │ ├── INDUSINDBK-2002.csv │ ├── IOC-2002.csv │ ├── ITC-2002.csv │ ├── ONGC-2002.csv │ ├── RELIANCE-2002.csv │ ├── SBIN-2002.csv │ ├── SUNPHARMA-2002.csv │ ├── TITAN-2002.csv │ └── WIPRO-2002.csv ├── 2003 │ ├── ASIANPAINT-2003.csv │ ├── BPCL-2003.csv │ ├── CIPLA-2003.csv │ ├── DRREDDY-2003.csv │ ├── EICHERMOT-2003.csv │ ├── GAIL-2003.csv │ ├── GRASIM-2003.csv │ ├── HCLTECH-2003.csv │ ├── HDFC-2003.csv │ ├── HDFCBANK-2003.csv │ ├── HINDPETRO-2003.csv │ ├── ICICIBANK-2003.csv │ ├── INDUSINDBK-2003.csv │ ├── IOC-2003.csv │ ├── ITC-2003.csv │ ├── KOTAKBANK-2003.csv │ ├── MARUTI-2003.csv │ ├── ONGC-2003.csv │ ├── RELIANCE-2003.csv │ ├── SBIN-2003.csv │ ├── SUNPHARMA-2003.csv │ ├── TATAMOTORS-2003.csv │ ├── TITAN-2003.csv │ └── WIPRO-2003.csv ├── 2004 │ ├── ASIANPAINT-2004.csv │ ├── BPCL-2004.csv │ ├── CIPLA-2004.csv │ ├── DRREDDY-2004.csv │ ├── EICHERMOT-2004.csv │ ├── GAIL-2004.csv │ ├── GRASIM-2004.csv │ ├── HCLTECH-2004.csv │ ├── HDFC-2004.csv │ ├── HDFCBANK-2004.csv │ ├── HINDPETRO-2004.csv │ ├── ICICIBANK-2004.csv │ ├── INDUSINDBK-2004.csv │ ├── IOC-2004.csv │ ├── ITC-2004.csv │ ├── KOTAKBANK-2004.csv │ ├── LT-2004.csv │ ├── MARUTI-2004.csv │ ├── NTPC-2004.csv │ ├── ONGC-2004.csv │ ├── RELIANCE-2004.csv │ ├── SBIN-2004.csv │ ├── SUNPHARMA-2004.csv │ ├── TATAMOTORS-2004.csv │ ├── TCS-2004.csv │ ├── TITAN-2004.csv │ ├── ULTRACEMCO-2004.csv │ └── WIPRO-2004.csv ├── 2005 │ ├── ASIANPAINT-2005.csv │ ├── BPCL-2005.csv │ ├── CIPLA-2005.csv │ ├── DRREDDY-2005.csv │ ├── EICHERMOT-2005.csv │ ├── GAIL-2005.csv │ ├── GRASIM-2005.csv │ ├── HCLTECH-2005.csv │ ├── HDFC-2005.csv │ ├── HDFCBANK-2005.csv │ ├── HINDPETRO-2005.csv │ ├── ICICIBANK-2005.csv │ ├── INDUSINDBK-2005.csv │ ├── IOC-2005.csv │ ├── ITC-2005.csv │ ├── JSWSTEEL-2005.csv │ ├── KOTAKBANK-2005.csv │ ├── LT-2005.csv │ ├── MARUTI-2005.csv │ ├── NTPC-2005.csv │ ├── ONGC-2005.csv │ ├── RELIANCE-2005.csv │ ├── SBIN-2005.csv │ ├── SUNPHARMA-2005.csv │ ├── TATAMOTORS-2005.csv │ ├── TATASTEEL-2005.csv │ ├── TCS-2005.csv │ ├── TITAN-2005.csv │ ├── ULTRACEMCO-2005.csv │ ├── WIPRO-2005.csv │ └── YESBANK-2005.csv ├── 2006 │ ├── ASIANPAINT-2006.csv │ ├── BHARTIARTL-2006.csv │ ├── BPCL-2006.csv │ ├── CIPLA-2006.csv │ ├── DRREDDY-2006.csv │ ├── EICHERMOT-2006.csv │ ├── GAIL-2006.csv │ ├── GRASIM-2006.csv │ ├── HCLTECH-2006.csv │ ├── HDFC-2006.csv │ ├── HDFCBANK-2006.csv │ ├── HINDPETRO-2006.csv │ ├── ICICIBANK-2006.csv │ ├── INDUSINDBK-2006.csv │ ├── IOC-2006.csv │ ├── ITC-2006.csv │ ├── JSWSTEEL-2006.csv │ ├── KOTAKBANK-2006.csv │ ├── LT-2006.csv │ ├── MARUTI-2006.csv │ ├── NTPC-2006.csv │ ├── ONGC-2006.csv │ ├── RELIANCE-2006.csv │ ├── SBIN-2006.csv │ ├── SUNPHARMA-2006.csv │ ├── TATAMOTORS-2006.csv │ ├── TATASTEEL-2006.csv │ ├── TCS-2006.csv │ ├── TECHM-2006.csv │ ├── TITAN-2006.csv │ ├── ULTRACEMCO-2006.csv │ ├── WIPRO-2006.csv │ └── YESBANK-2006.csv ├── 2007 │ ├── ASIANPAINT-2007.csv │ ├── AXISBANK-2007.csv │ ├── BHARTIARTL-2007.csv │ ├── BPCL-2007.csv │ ├── CIPLA-2007.csv │ ├── DRREDDY-2007.csv │ ├── EICHERMOT-2007.csv │ ├── GAIL-2007.csv │ ├── GRASIM-2007.csv │ ├── HCLTECH-2007.csv │ ├── HDFC-2007.csv │ ├── HDFCBANK-2007.csv │ ├── HINDALCO-2007.csv │ ├── HINDPETRO-2007.csv │ ├── HINDUNILVR-2007.csv │ ├── ICICIBANK-2007.csv │ ├── INDUSINDBK-2007.csv │ ├── IOC-2007.csv │ ├── ITC-2007.csv │ ├── JSWSTEEL-2007.csv │ ├── KOTAKBANK-2007.csv │ ├── LT-2007.csv │ ├── MARUTI-2007.csv │ ├── NTPC-2007.csv │ ├── ONGC-2007.csv │ ├── POWERGRID-2007.csv │ ├── RELIANCE-2007.csv │ ├── SBIN-2007.csv │ ├── SUNPHARMA-2007.csv │ ├── TATAMOTORS-2007.csv │ ├── TATASTEEL-2007.csv │ ├── TCS-2007.csv │ ├── TECHM-2007.csv │ ├── TITAN-2007.csv │ ├── ULTRACEMCO-2007.csv │ ├── WIPRO-2007.csv │ ├── YESBANK-2007.csv │ └── ZEEL-2007.csv ├── 2008 │ ├── ASIANPAINT-2008.csv │ ├── AXISBANK-2008.csv │ ├── BAJAJFINSV-2008.csv │ ├── BHARTIARTL-2008.csv │ ├── BPCL-2008.csv │ ├── CIPLA-2008.csv │ ├── DRREDDY-2008.csv │ ├── EICHERMOT-2008.csv │ ├── GAIL-2008.csv │ ├── GRASIM-2008.csv │ ├── HCLTECH-2008.csv │ ├── HDFC-2008.csv │ ├── HDFCBANK-2008.csv │ ├── HINDALCO-2008.csv │ ├── HINDPETRO-2008.csv │ ├── HINDUNILVR-2008.csv │ ├── ICICIBANK-2008.csv │ ├── INDUSINDBK-2008.csv │ ├── IOC-2008.csv │ ├── ITC-2008.csv │ ├── JSWSTEEL-2008.csv │ ├── KOTAKBANK-2008.csv │ ├── LT-2008.csv │ ├── MARUTI-2008.csv │ ├── NTPC-2008.csv │ ├── ONGC-2008.csv │ ├── POWERGRID-2008.csv │ ├── RELIANCE-2008.csv │ ├── SBIN-2008.csv │ ├── SUNPHARMA-2008.csv │ ├── TATAMOTORS-2008.csv │ ├── TATASTEEL-2008.csv │ ├── TCS-2008.csv │ ├── TECHM-2008.csv │ ├── TITAN-2008.csv │ ├── ULTRACEMCO-2008.csv │ ├── WIPRO-2008.csv │ ├── YESBANK-2008.csv │ └── ZEEL-2008.csv ├── 2009 │ ├── ASIANPAINT-2009.csv │ ├── AXISBANK-2009.csv │ ├── BAJAJFINSV-2009.csv │ ├── BHARTIARTL-2009.csv │ ├── BPCL-2009.csv │ ├── CIPLA-2009.csv │ ├── DRREDDY-2009.csv │ ├── EICHERMOT-2009.csv │ ├── GAIL-2009.csv │ ├── GRASIM-2009.csv │ ├── HCLTECH-2009.csv │ ├── HDFC-2009.csv │ ├── HDFCBANK-2009.csv │ ├── HINDALCO-2009.csv │ ├── HINDPETRO-2009.csv │ ├── HINDUNILVR-2009.csv │ ├── ICICIBANK-2009.csv │ ├── INDUSINDBK-2009.csv │ ├── IOC-2009.csv │ ├── ITC-2009.csv │ ├── JSWSTEEL-2009.csv │ ├── KOTAKBANK-2009.csv │ ├── LT-2009.csv │ ├── MARUTI-2009.csv │ ├── NTPC-2009.csv │ ├── ONGC-2009.csv │ ├── POWERGRID-2009.csv │ ├── RELIANCE-2009.csv │ ├── SBIN-2009.csv │ ├── SUNPHARMA-2009.csv │ ├── TATAMOTORS-2009.csv │ ├── TATASTEEL-2009.csv │ ├── TCS-2009.csv │ ├── TECHM-2009.csv │ ├── TITAN-2009.csv │ ├── ULTRACEMCO-2009.csv │ ├── WIPRO-2009.csv │ ├── YESBANK-2009.csv │ └── ZEEL-2009.csv ├── 2010 │ ├── ASIANPAINT-2010.csv │ ├── AXISBANK-2010.csv │ ├── BAJAJFINSV-2010.csv │ ├── BAJFINANCE-2010.csv │ ├── BHARTIARTL-2010.csv │ ├── BPCL-2010.csv │ ├── CIPLA-2010.csv │ ├── COALINDIA-2010.csv │ ├── DRREDDY-2010.csv │ ├── EICHERMOT-2010.csv │ ├── GAIL-2010.csv │ ├── GRASIM-2010.csv │ ├── HCLTECH-2010.csv │ ├── HDFC-2010.csv │ ├── HDFCBANK-2010.csv │ ├── HINDALCO-2010.csv │ ├── HINDPETRO-2010.csv │ ├── HINDUNILVR-2010.csv │ ├── ICICIBANK-2010.csv │ ├── INDUSINDBK-2010.csv │ ├── IOC-2010.csv │ ├── ITC-2010.csv │ ├── JSWSTEEL-2010.csv │ ├── KOTAKBANK-2010.csv │ ├── LT-2010.csv │ ├── MARUTI-2010.csv │ ├── NTPC-2010.csv │ ├── ONGC-2010.csv │ ├── POWERGRID-2010.csv │ ├── RELIANCE-2010.csv │ ├── SBIN-2010.csv │ ├── SUNPHARMA-2010.csv │ ├── TATAMOTORS-2010.csv │ ├── TATASTEEL-2010.csv │ ├── TCS-2010.csv │ ├── TECHM-2010.csv │ ├── TITAN-2010.csv │ ├── ULTRACEMCO-2010.csv │ ├── WIPRO-2010.csv │ ├── YESBANK-2010.csv │ └── ZEEL-2010.csv ├── 2011 │ ├── ASIANPAINT-2011.csv │ ├── AXISBANK-2011.csv │ ├── BAJAJFINSV-2011.csv │ ├── BAJFINANCE-2011.csv │ ├── BHARTIARTL-2011.csv │ ├── BPCL-2011.csv │ ├── CIPLA-2011.csv │ ├── COALINDIA-2011.csv │ ├── DRREDDY-2011.csv │ ├── EICHERMOT-2011.csv │ ├── GAIL-2011.csv │ ├── GRASIM-2011.csv │ ├── HCLTECH-2011.csv │ ├── HDFC-2011.csv │ ├── HDFCBANK-2011.csv │ ├── HEROMOTOCO-2011.csv │ ├── HINDALCO-2011.csv │ ├── HINDPETRO-2011.csv │ ├── HINDUNILVR-2011.csv │ ├── ICICIBANK-2011.csv │ ├── INDUSINDBK-2011.csv │ ├── INFY-2011.csv │ ├── IOC-2011.csv │ ├── ITC-2011.csv │ ├── JSWSTEEL-2011.csv │ ├── KOTAKBANK-2011.csv │ ├── LT-2011.csv │ ├── MARUTI-2011.csv │ ├── NTPC-2011.csv │ ├── ONGC-2011.csv │ ├── POWERGRID-2011.csv │ ├── RELIANCE-2011.csv │ ├── SBIN-2011.csv │ ├── SUNPHARMA-2011.csv │ ├── TATAMOTORS-2011.csv │ ├── TATASTEEL-2011.csv │ ├── TCS-2011.csv │ ├── TECHM-2011.csv │ ├── TITAN-2011.csv │ ├── ULTRACEMCO-2011.csv │ ├── WIPRO-2011.csv │ ├── YESBANK-2011.csv │ └── ZEEL-2011.csv ├── 2012 │ ├── ADANIPORTS-2012.csv │ ├── ASIANPAINT-2012.csv │ ├── AXISBANK-2012.csv │ ├── BAJAJFINSV-2012.csv │ ├── BAJFINANCE-2012.csv │ ├── BHARTIARTL-2012.csv │ ├── BPCL-2012.csv │ ├── CIPLA-2012.csv │ ├── COALINDIA-2012.csv │ ├── DRREDDY-2012.csv │ ├── EICHERMOT-2012.csv │ ├── GAIL-2012.csv │ ├── GRASIM-2012.csv │ ├── HCLTECH-2012.csv │ ├── HDFC-2012.csv │ ├── HDFCBANK-2012.csv │ ├── HEROMOTOCO-2012.csv │ ├── HINDALCO-2012.csv │ ├── HINDPETRO-2012.csv │ ├── HINDUNILVR-2012.csv │ ├── ICICIBANK-2012.csv │ ├── INDUSINDBK-2012.csv │ ├── INFRATEL-2012.csv │ ├── INFY-2012.csv │ ├── IOC-2012.csv │ ├── ITC-2012.csv │ ├── JSWSTEEL-2012.csv │ ├── KOTAKBANK-2012.csv │ ├── LT-2012.csv │ ├── MARUTI-2012.csv │ ├── NTPC-2012.csv │ ├── ONGC-2012.csv │ ├── POWERGRID-2012.csv │ ├── RELIANCE-2012.csv │ ├── SBIN-2012.csv │ ├── SUNPHARMA-2012.csv │ ├── TATAMOTORS-2012.csv │ ├── TATASTEEL-2012.csv │ ├── TCS-2012.csv │ ├── TECHM-2012.csv │ ├── TITAN-2012.csv │ ├── ULTRACEMCO-2012.csv │ ├── WIPRO-2012.csv │ ├── YESBANK-2012.csv │ └── ZEEL-2012.csv ├── 2013 │ ├── ADANIPORTS-2013.csv │ ├── ASIANPAINT-2013.csv │ ├── AXISBANK-2013.csv │ ├── BAJAJFINSV-2013.csv │ ├── BAJFINANCE-2013.csv │ ├── BHARTIARTL-2013.csv │ ├── BPCL-2013.csv │ ├── CIPLA-2013.csv │ ├── COALINDIA-2013.csv │ ├── DRREDDY-2013.csv │ ├── EICHERMOT-2013.csv │ ├── GAIL-2013.csv │ ├── GRASIM-2013.csv │ ├── HCLTECH-2013.csv │ ├── HDFC-2013.csv │ ├── HDFCBANK-2013.csv │ ├── HEROMOTOCO-2013.csv │ ├── HINDALCO-2013.csv │ ├── HINDPETRO-2013.csv │ ├── HINDUNILVR-2013.csv │ ├── IBULHSGFIN-2013.csv │ ├── ICICIBANK-2013.csv │ ├── INDUSINDBK-2013.csv │ ├── INFRATEL-2013.csv │ ├── INFY-2013.csv │ ├── IOC-2013.csv │ ├── ITC-2013.csv │ ├── JSWSTEEL-2013.csv │ ├── KOTAKBANK-2013.csv │ ├── LT-2013.csv │ ├── MARUTI-2013.csv │ ├── NTPC-2013.csv │ ├── ONGC-2013.csv │ ├── POWERGRID-2013.csv │ ├── RELIANCE-2013.csv │ ├── SBIN-2013.csv │ ├── SUNPHARMA-2013.csv │ ├── TATAMOTORS-2013.csv │ ├── TATASTEEL-2013.csv │ ├── TCS-2013.csv │ ├── TECHM-2013.csv │ ├── TITAN-2013.csv │ ├── ULTRACEMCO-2013.csv │ ├── UPL-2013.csv │ ├── WIPRO-2013.csv │ ├── YESBANK-2013.csv │ └── ZEEL-2013.csv ├── 2014 │ ├── ADANIPORTS-2014.csv │ ├── ASIANPAINT-2014.csv │ ├── AXISBANK-2014.csv │ ├── BAJAJFINSV-2014.csv │ ├── BAJFINANCE-2014.csv │ ├── BHARTIARTL-2014.csv │ ├── BPCL-2014.csv │ ├── CIPLA-2014.csv │ ├── COALINDIA-2014.csv │ ├── DRREDDY-2014.csv │ ├── EICHERMOT-2014.csv │ ├── GAIL-2014.csv │ ├── GRASIM-2014.csv │ ├── HCLTECH-2014.csv │ ├── HDFC-2014.csv │ ├── HDFCBANK-2014.csv │ ├── HEROMOTOCO-2014.csv │ ├── HINDALCO-2014.csv │ ├── HINDPETRO-2014.csv │ ├── HINDUNILVR-2014.csv │ ├── IBULHSGFIN-2014.csv │ ├── ICICIBANK-2014.csv │ ├── INDUSINDBK-2014.csv │ ├── INFRATEL-2014.csv │ ├── INFY-2014.csv │ ├── IOC-2014.csv │ ├── ITC-2014.csv │ ├── JSWSTEEL-2014.csv │ ├── KOTAKBANK-2014.csv │ ├── LT-2014.csv │ ├── MARUTI-2014.csv │ ├── NTPC-2014.csv │ ├── ONGC-2014.csv │ ├── POWERGRID-2014.csv │ ├── RELIANCE-2014.csv │ ├── SBIN-2014.csv │ ├── SUNPHARMA-2014.csv │ ├── TATAMOTORS-2014.csv │ ├── TATASTEEL-2014.csv │ ├── TCS-2014.csv │ ├── TECHM-2014.csv │ ├── TITAN-2014.csv │ ├── ULTRACEMCO-2014.csv │ ├── UPL-2014.csv │ ├── WIPRO-2014.csv │ ├── YESBANK-2014.csv │ └── ZEEL-2014.csv ├── 2015 │ ├── ADANIPORTS-2015.csv │ ├── ASIANPAINT-2015.csv │ ├── AXISBANK-2015.csv │ ├── BAJAJFINSV-2015.csv │ ├── BAJFINANCE-2015.csv │ ├── BHARTIARTL-2015.csv │ ├── BPCL-2015.csv │ ├── CIPLA-2015.csv │ ├── COALINDIA-2015.csv │ ├── DRREDDY-2015.csv │ ├── EICHERMOT-2015.csv │ ├── GAIL-2015.csv │ ├── GRASIM-2015.csv │ ├── HCLTECH-2015.csv │ ├── HDFC-2015.csv │ ├── HDFCBANK-2015.csv │ ├── HEROMOTOCO-2015.csv │ ├── HINDALCO-2015.csv │ ├── HINDPETRO-2015.csv │ ├── HINDUNILVR-2015.csv │ ├── IBULHSGFIN-2015.csv │ ├── ICICIBANK-2015.csv │ ├── INDUSINDBK-2015.csv │ ├── INFRATEL-2015.csv │ ├── INFY-2015.csv │ ├── IOC-2015.csv │ ├── ITC-2015.csv │ ├── JSWSTEEL-2015.csv │ ├── KOTAKBANK-2015.csv │ ├── LT-2015.csv │ ├── MARUTI-2015.csv │ ├── NTPC-2015.csv │ ├── ONGC-2015.csv │ ├── POWERGRID-2015.csv │ ├── RELIANCE-2015.csv │ ├── SBIN-2015.csv │ ├── SUNPHARMA-2015.csv │ ├── TATAMOTORS-2015.csv │ ├── TATASTEEL-2015.csv │ ├── TCS-2015.csv │ ├── TECHM-2015.csv │ ├── TITAN-2015.csv │ ├── ULTRACEMCO-2015.csv │ ├── UPL-2015.csv │ ├── VEDL-2015.csv │ ├── WIPRO-2015.csv │ ├── YESBANK-2015.csv │ └── ZEEL-2015.csv ├── 2016 │ ├── ADANIPORTS-2016.csv │ ├── ASIANPAINT-2016.csv │ ├── AXISBANK-2016.csv │ ├── BAJAJFINSV-2016.csv │ ├── BAJFINANCE-2016.csv │ ├── BHARTIARTL-2016.csv │ ├── BPCL-2016.csv │ ├── CIPLA-2016.csv │ ├── COALINDIA-2016.csv │ ├── DRREDDY-2016.csv │ ├── EICHERMOT-2016.csv │ ├── GAIL-2016.csv │ ├── GRASIM-2016.csv │ ├── HCLTECH-2016.csv │ ├── HDFC-2016.csv │ ├── HDFCBANK-2016.csv │ ├── HEROMOTOCO-2016.csv │ ├── HINDALCO-2016.csv │ ├── HINDPETRO-2016.csv │ ├── HINDUNILVR-2016.csv │ ├── IBULHSGFIN-2016.csv │ ├── ICICIBANK-2016.csv │ ├── INDUSINDBK-2016.csv │ ├── INFRATEL-2016.csv │ ├── INFY-2016.csv │ ├── IOC-2016.csv │ ├── ITC-2016.csv │ ├── JSWSTEEL-2016.csv │ ├── KOTAKBANK-2016.csv │ ├── LT-2016.csv │ ├── MARUTI-2016.csv │ ├── NTPC-2016.csv │ ├── ONGC-2016.csv │ ├── POWERGRID-2016.csv │ ├── RELIANCE-2016.csv │ ├── SBIN-2016.csv │ ├── SUNPHARMA-2016.csv │ ├── TATAMOTORS-2016.csv │ ├── TATASTEEL-2016.csv │ ├── TCS-2016.csv │ ├── TECHM-2016.csv │ ├── TITAN-2016.csv │ ├── ULTRACEMCO-2016.csv │ ├── UPL-2016.csv │ ├── VEDL-2016.csv │ ├── WIPRO-2016.csv │ ├── YESBANK-2016.csv │ └── ZEEL-2016.csv ├── 2017 │ ├── ADANIPORTS-2017.csv │ ├── ASIANPAINT-2017.csv │ ├── AXISBANK-2017.csv │ ├── BAJAJFINSV-2017.csv │ ├── BAJFINANCE-2017.csv │ ├── BHARTIARTL-2017.csv │ ├── BPCL-2017.csv │ ├── CIPLA-2017.csv │ ├── COALINDIA-2017.csv │ ├── DRREDDY-2017.csv │ ├── EICHERMOT-2017.csv │ ├── GAIL-2017.csv │ ├── GRASIM-2017.csv │ ├── HCLTECH-2017.csv │ ├── HDFC-2017.csv │ ├── HDFCBANK-2017.csv │ ├── HEROMOTOCO-2017.csv │ ├── HINDALCO-2017.csv │ ├── HINDPETRO-2017.csv │ ├── HINDUNILVR-2017.csv │ ├── IBULHSGFIN-2017.csv │ ├── ICICIBANK-2017.csv │ ├── INDUSINDBK-2017.csv │ ├── INFRATEL-2017.csv │ ├── INFY-2017.csv │ ├── IOC-2017.csv │ ├── ITC-2017.csv │ ├── JSWSTEEL-2017.csv │ ├── KOTAKBANK-2017.csv │ ├── LT-2017.csv │ ├── MARUTI-2017.csv │ ├── NTPC-2017.csv │ ├── ONGC-2017.csv │ ├── POWERGRID-2017.csv │ ├── RELIANCE-2017.csv │ ├── SBIN-2017.csv │ ├── SUNPHARMA-2017.csv │ ├── TATAMOTORS-2017.csv │ ├── TATASTEEL-2017.csv │ ├── TCS-2017.csv │ ├── TECHM-2017.csv │ ├── TITAN-2017.csv │ ├── ULTRACEMCO-2017.csv │ ├── UPL-2017.csv │ ├── VEDL-2017.csv │ ├── WIPRO-2017.csv │ ├── YESBANK-2017.csv │ └── ZEEL-2017.csv ├── AXBK Historical Data.csv ├── BSE Sensex 30 Historical Data.csv ├── DABU Historical Data.csv ├── FB Historical Data.csv ├── GE Historical Data.csv ├── ICBK Historical Data.csv ├── MSFT Historical Data.csv ├── NFLX Historical Data.csv ├── Nifty 50 Historical Data.csv ├── Nifty Bank Historical Data.csv ├── Nifty50list.csv ├── S&P 500 Futures Historical Data.csv ├── SBI Historical Data.csv ├── USD_INR Historical Data.csv ├── XOM Historical Data.csv └── YESB Historical Data.csv ├── LICENSE ├── MANIFEST ├── README.md ├── __pycache__ ├── BaseAgent.cpython-36.pyc ├── backtest.cpython-36.pyc └── sma_agent.cpython-36.pyc ├── algotrader.egg-info ├── PKG-INFO ├── SOURCES.txt ├── dependency_links.txt └── top_level.txt ├── algotrading ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── backtest.cpython-36.pyc │ ├── evaluation.cpython-36.pyc │ └── optimise.cpython-36.pyc ├── agents │ ├── BaseAgent.py │ ├── __init__.py │ ├── __pycache__ │ │ ├── BaseAgent.cpython-36.pyc │ │ ├── __init__.cpython-36.pyc │ │ ├── cci_agent.cpython-36.pyc │ │ ├── dema_agent.cpython-36.pyc │ │ ├── ema_agent.cpython-36.pyc │ │ ├── momentum_agent.cpython-36.pyc │ │ ├── six_month_cycle_agent.cpython-36.pyc │ │ ├── sma_agent.cpython-36.pyc │ │ └── tema_agent.cpython-36.pyc │ ├── cci_agent.py │ ├── dema_agent.py │ ├── ema_agent.py │ ├── momentum_agent.py │ ├── six_month_cycle_agent.py │ ├── sma_agent.py │ └── tema_agent.py ├── backtest.py ├── evaluation.py └── scraper.py ├── build └── lib │ ├── algotrader │ ├── __init__.py │ ├── agents │ │ ├── BaseAgent.py │ │ ├── __init__.py │ │ ├── cci_agent.py │ │ ├── dema_agent.py │ │ ├── ema_agent.py │ │ ├── momentum_agent.py │ │ ├── six_month_cycle_agent.py │ │ ├── sma_agent.py │ │ └── tema_agent.py │ ├── backtest.py │ ├── dask-agents │ │ ├── BaseDaskAgent.py │ │ ├── __init__.py │ │ └── dask_sma_agent.py │ ├── evaluation.py │ └── scraper.py │ └── tests │ ├── __init__.py │ ├── genetics.py │ ├── optimise.py │ ├── test.py │ ├── test_backtest.py │ ├── test_cci.py │ ├── test_dema.py │ ├── test_ema.py │ ├── test_logging.py │ ├── test_momentum.py │ ├── test_six_month_cycle.py │ ├── test_sma.py │ └── test_tema.py ├── dist ├── algotrader-0.1.dev0-py3-none-any.whl ├── algotrader-0.1.dev0.macosx-10.7-x86_64.tar.gz └── algotrader-0.1.dev0.tar.gz ├── historical data └── NSE_metadata.csv ├── requirements.txt ├── setup.py └── tests ├── __init__.py ├── __pycache__ ├── optimise.cpython-36.pyc ├── test_cci.cpython-36.pyc ├── test_dema.cpython-36.pyc ├── test_ema.cpython-36.pyc ├── test_momentum.cpython-36.pyc ├── test_six_month_cycle.cpython-36.pyc ├── test_sma.cpython-36.pyc └── test_tema.cpython-36.pyc ├── dummy.py ├── genetics.py ├── optimise.py ├── test.py ├── test_backtest.py ├── test_cci.py ├── test_dema.py ├── test_ema.py ├── test_logging.py ├── test_momentum.py ├── test_six_month_cycle.py ├── test_sma.py └── test_tema.py /.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - "3.6" 4 | cache: pip 5 | install: 6 | - pip install -r requirements.txt 7 | script: 8 | - python tests/dummy.py 9 | -------------------------------------------------------------------------------- /Historical data/2003/MARUTI-2003.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2003-07-09,164.9,170.4,155.0,164.0,164.3,35164283.0,58355.28 3 | 2003-07-10,167.0,168.7,164.5,167.0,167.0,10464179.0,17448.2 4 | 2003-07-11,167.75,174.85,166.25,173.6,173.35,11740117.0,20246.22 5 | 2003-07-14,174.25,179.25,174.25,178.6,177.95,5982324.0,10643.13 6 | 2003-07-15,200.0,200.0,173.0,176.3,176.2,6173689.0,10920.01 7 | 2003-07-16,176.45,179.1,175.35,176.9,177.1,3759085.0,6675.7 8 | 2003-07-17,177.5,178.0,170.65,170.7,172.2,3814181.0,6693.03 9 | 2003-07-18,165.0,171.9,160.0,167.4,167.4,5375212.0,9011.9 10 | 2003-07-21,169.0,169.4,163.05,164.0,164.9,3315845.0,5526.65 11 | 2003-07-22,164.0,169.15,162.1,168.6,167.25,4627992.0,7639.12 12 | 2003-07-23,170.5,178.0,169.8,175.55,174.7,13262249.0,23147.59 13 | 2003-07-24,175.9,177.0,172.85,173.65,174.1,4305936.0,7511.53 14 | 2003-07-25,174.4,175.0,172.1,174.0,173.65,2832967.0,4919.6 15 | 2003-07-28,188.0,188.0,175.1,179.25,178.85,5415867.0,9640.85 16 | 2003-07-29,179.95,182.9,179.1,180.2,180.3,5229181.0,9460.96 17 | 2003-07-30,181.25,184.75,180.1,180.25,181.1,4632246.0,8456.02 18 | 2003-07-31,181.7,183.65,179.65,181.0,180.85,3562717.0,6479.36 19 | 2003-08-01,182.0,189.0,178.75,188.4,187.15,8027285.0,14798.84 20 | 2003-08-04,187.85,198.5,185.0,197.5,197.6,9982429.0,19430.84 21 | 2003-08-05,199.0,203.45,192.85,193.85,193.6,9651327.0,19124.34 22 | 2003-08-06,191.5,197.5,189.85,191.75,191.6,7451054.0,14414.35 23 | 2003-08-07,193.5,196.0,192.25,195.7,195.4,3223676.0,6262.76 24 | 2003-08-08,197.0,198.9,196.0,197.5,197.15,2530289.0,4993.93 25 | 2003-08-11,198.1,203.8,196.0,201.8,202.2,5651311.0,11399.27 26 | 2003-08-12,203.8,212.0,203.5,210.8,210.45,8215213.0,17068.81 27 | 2003-08-13,213.0,219.5,212.0,218.5,217.8,7839204.0,16922.52 28 | 2003-08-14,223.0,224.4,215.0,217.75,216.55,6298655.0,13879.96 29 | 2003-08-18,218.1,221.0,215.4,218.25,216.9,3382031.0,7372.46 30 | 2003-08-19,219.85,219.9,215.0,215.3,215.65,3080091.0,6665.77 31 | 2003-08-20,217.4,226.45,217.3,226.0,225.0,6049174.0,13487.0 32 | 2003-08-21,227.0,228.9,223.3,228.1,227.95,4012069.0,9106.26 33 | 2003-08-22,228.05,232.8,225.9,229.2,229.3,4436016.0,10178.18 34 | 2003-08-25,230.0,231.45,216.1,220.5,221.05,4827198.0,10739.24 35 | 2003-08-26,217.0,235.0,217.0,234.75,232.45,3968069.0,9076.43 36 | 2003-08-27,235.4,237.6,233.0,233.5,234.3,2267859.0,5335.4 37 | 2003-08-28,235.75,235.75,226.0,228.1,228.05,3554363.0,8145.4 38 | 2003-08-29,232.05,238.5,231.5,235.2,235.4,3212067.0,7564.95 39 | 2003-09-01,236.4,237.0,231.7,237.0,235.55,2478236.0,5818.44 40 | 2003-09-02,234.85,234.85,224.1,226.1,226.55,3975812.0,9016.02 41 | 2003-09-03,227.1,231.75,221.0,222.0,222.8,3945233.0,8929.09 42 | 2003-09-04,223.0,225.7,218.45,221.3,221.55,3682478.0,8162.98 43 | 2003-09-05,223.9,230.0,222.4,229.3,229.3,2971415.0,6714.27 44 | 2003-09-08,231.0,233.9,227.15,227.5,228.75,1817991.0,4191.88 45 | 2003-09-09,230.0,235.0,225.8,228.0,228.2,2034401.0,4637.34 46 | 2003-09-10,227.75,230.4,225.8,227.25,227.8,1476667.0,3365.46 47 | 2003-09-11,230.0,230.1,225.0,225.3,225.65,1092801.0,2487.86 48 | 2003-09-12,228.0,228.5,219.1,221.0,220.35,2496597.0,5550.22 49 | 2003-09-15,219.0,221.35,207.1,207.8,208.35,3469640.0,7322.54 50 | 2003-09-16,207.0,210.0,195.1,208.0,208.5,4004037.0,8130.48 51 | 2003-09-17,212.5,219.5,209.25,215.0,216.05,3800473.0,8152.69 52 | 2003-09-18,215.9,215.9,203.4,204.0,205.6,2813556.0,5883.14 53 | 2003-09-19,207.0,210.4,198.8,207.0,205.75,3442717.0,7044.55 54 | 2003-09-22,206.0,212.8,205.75,212.0,210.7,2575343.0,5400.49 55 | 2003-09-23,210.3,214.4,208.2,214.4,213.15,1766451.0,3725.74 56 | 2003-09-24,216.0,221.0,213.1,219.5,219.95,2133208.0,4637.44 57 | 2003-09-25,220.1,220.1,211.5,214.05,213.7,1916650.0,4144.4 58 | 2003-09-26,214.4,217.85,213.1,214.5,214.8,2531520.0,5454.06 59 | 2003-09-29,216.0,229.45,215.15,228.0,227.2,3711837.0,8289.76 60 | 2003-09-30,230.0,233.35,228.0,232.3,232.55,3594810.0,8315.5 61 | 2003-10-01,232.0,233.0,227.1,228.1,228.45,2402620.0,5516.53 62 | 2003-10-03,229.0,235.0,228.9,234.5,234.4,2511914.0,5836.14 63 | 2003-10-06,236.6,242.35,235.0,241.5,241.3,3094324.0,7426.91 64 | 2003-10-07,244.0,246.4,236.05,237.25,237.55,2440562.0,5911.17 65 | 2003-10-08,238.75,245.0,237.1,241.25,240.25,1859277.0,4481.09 66 | 2003-10-09,240.85,259.75,240.85,259.5,258.05,6993550.0,17726.96 67 | 2003-10-10,260.65,272.4,259.8,271.75,269.1,3707816.0,9842.25 68 | 2003-10-13,273.0,280.35,272.0,276.0,276.1,3693070.0,10231.65 69 | 2003-10-14,278.0,278.6,262.8,266.0,264.9,5123854.0,13812.55 70 | 2003-10-15,264.9,272.7,261.3,271.7,270.5,3478259.0,9343.6 71 | 2003-10-16,273.7,281.3,272.5,273.5,276.2,4100489.0,11389.49 72 | 2003-10-17,280.55,286.4,275.45,281.1,282.3,4126840.0,11660.98 73 | 2003-10-20,282.0,284.8,273.3,274.0,274.75,2192534.0,6119.89 74 | 2003-10-21,276.1,279.0,257.0,263.0,261.25,3223848.0,8726.91 75 | 2003-10-22,263.95,279.0,260.55,264.5,263.7,2569557.0,6822.76 76 | 2003-10-23,264.5,273.25,261.65,264.0,263.8,3114998.0,8356.28 77 | 2003-10-24,265.0,291.0,260.0,290.15,285.0,5225375.0,14376.04 78 | 2003-10-25,294.9,297.7,291.5,293.6,293.75,1888755.0,5562.56 79 | 2003-10-27,294.9,298.0,281.6,282.9,283.2,5831782.0,16953.18 80 | 2003-10-28,283.0,291.9,277.8,289.9,286.3,5640636.0,16213.97 81 | 2003-10-29,291.45,308.3,286.2,306.2,305.0,7996572.0,23706.13 82 | 2003-10-30,306.5,310.7,302.0,305.1,305.9,7108567.0,21799.19 83 | 2003-10-31,307.8,324.2,306.5,323.8,322.3,9924397.0,31423.31 84 | 2003-11-03,324.0,349.5,324.0,347.65,347.6,9820043.0,33361.85 85 | 2003-11-04,355.0,356.6,345.2,348.25,349.5,7884723.0,27632.54 86 | 2003-11-05,350.0,350.0,330.1,338.2,336.1,7280790.0,24681.63 87 | 2003-11-06,340.0,345.7,334.0,336.5,338.45,6122862.0,20758.37 88 | 2003-11-07,340.9,343.4,331.25,332.25,333.25,4584798.0,15412.65 89 | 2003-11-10,337.0,345.0,327.1,344.1,341.7,1953978.0,6612.01 90 | 2003-11-11,343.75,346.85,338.35,340.15,340.7,3262766.0,11167.67 91 | 2003-11-12,338.05,347.0,338.05,342.0,342.95,3302571.0,11374.03 92 | 2003-11-13,344.95,356.7,338.0,346.0,346.75,7982920.0,27995.2 93 | 2003-11-14,346.0,346.5,326.15,329.0,329.3,4834168.0,16338.93 94 | 2003-11-15,330.0,342.0,325.65,340.65,337.45,1843493.0,6149.11 95 | 2003-11-17,340.65,353.5,337.0,352.2,350.0,4081415.0,14076.77 96 | 2003-11-18,353.0,354.4,340.0,344.0,344.05,4672908.0,16209.34 97 | 2003-11-19,346.0,346.0,329.0,330.6,330.6,4672785.0,15688.86 98 | 2003-11-20,331.95,339.05,321.0,322.6,323.05,5484243.0,18202.45 99 | 2003-11-21,324.0,327.0,314.1,324.2,324.05,8100784.0,25930.44 100 | 2003-11-24,328.7,333.0,324.0,327.0,327.25,5287524.0,17390.42 101 | 2003-11-25,330.55,338.5,328.65,338.0,337.3,5021011.0,16730.51 102 | 2003-11-27,340.0,347.0,338.4,340.0,340.7,5069219.0,17420.21 103 | 2003-11-28,343.4,352.0,342.15,345.4,344.6,3606119.0,12433.6 104 | 2003-12-01,347.25,357.8,346.85,356.55,356.05,4405346.0,15621.68 105 | 2003-12-02,365.0,367.0,348.1,355.4,353.5,4496428.0,15885.78 106 | 2003-12-03,356.4,363.9,354.0,356.45,357.9,3993295.0,14359.17 107 | 2003-12-04,358.25,364.8,355.25,364.05,362.4,4952879.0,17897.58 108 | 2003-12-05,364.6,367.0,352.2,354.35,354.2,3310018.0,11928.66 109 | 2003-12-08,356.0,362.0,347.65,360.0,355.3,2681496.0,9447.3 110 | 2003-12-09,360.0,370.5,356.2,369.9,366.4,2685187.0,9727.96 111 | 2003-12-10,368.5,372.35,363.25,368.95,366.65,3588806.0,13213.43 112 | 2003-12-11,370.0,370.4,362.0,363.55,364.4,2250383.0,8216.18 113 | 2003-12-12,366.7,367.0,357.0,364.0,363.5,3012320.0,10878.39 114 | 2003-12-15,364.5,366.8,358.5,360.05,360.75,2126368.0,7718.43 115 | 2003-12-16,361.5,361.5,353.1,356.6,357.3,2089553.0,7460.85 116 | 2003-12-17,357.0,363.7,355.15,356.5,356.95,2851693.0,10255.6 117 | 2003-12-18,359.0,365.35,355.7,363.65,363.6,2281018.0,8238.73 118 | 2003-12-19,366.45,366.85,357.65,357.75,359.35,2514435.0,9094.68 119 | 2003-12-22,359.0,361.8,356.2,357.4,358.0,2007570.0,7206.67 120 | 2003-12-23,362.0,375.05,357.5,358.75,358.85,2799280.0,10131.9 121 | 2003-12-24,360.5,362.9,353.55,354.4,355.3,3127028.0,11190.39 122 | 2003-12-26,360.9,370.95,357.0,370.0,369.3,3181691.0,11626.76 123 | 2003-12-29,371.0,384.0,371.0,382.9,382.75,3242665.0,12313.96 124 | 2003-12-30,386.9,386.9,367.5,371.3,371.2,2283787.0,8606.73 125 | 2003-12-31,373.7,379.0,368.3,377.0,375.2,2088465.0,7839.31 126 | -------------------------------------------------------------------------------- /Historical data/2003/TATAMOTORS-2003.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2003-12-26,435.8,440.5,431.65,438.85,438.6,1534637.0,6714.66 3 | 2003-12-29,441.0,449.7,441.0,448.4,447.8,2125952.0,9497.72 4 | 2003-12-30,450.0,451.9,430.1,444.85,442.4,2683293.0,11894.85 5 | 2003-12-31,446.0,459.3,443.55,452.1,452.05,4311596.0,19551.42 6 | -------------------------------------------------------------------------------- /Historical data/2004/LT-2004.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2004-06-23,500.0,745.0,150.0,638.0,635.95,2699293.0,16943.72 3 | 2004-06-24,630.0,630.0,608.4,612.0,616.0,913575.0,5647.8 4 | 2004-06-25,619.0,679.0,616.1,665.0,668.3,1637383.0,10781.36 5 | 2004-06-28,660.0,671.9,640.2,653.0,656.4,913349.0,6004.27 6 | 2004-06-29,656.0,683.4,653.0,666.85,671.7,743063.0,5016.49 7 | 2004-06-30,672.0,700.0,670.0,697.85,695.15,722230.0,4988.18 8 | 2004-07-01,702.0,765.0,690.1,764.0,745.2,1582574.0,11498.83 9 | 2004-07-02,745.0,780.0,724.65,727.0,730.5,2988945.0,22507.61 10 | 2004-07-05,728.2,743.5,711.1,714.0,719.05,1272188.0,9236.1 11 | 2004-07-06,721.8,738.0,715.3,727.9,729.6,1081518.0,7858.22 12 | 2004-07-07,733.0,739.0,725.2,726.3,727.7,603840.0,4426.18 13 | 2004-07-08,730.0,742.0,695.7,710.0,711.95,582272.0,4242.15 14 | 2004-07-09,695.0,748.0,625.0,744.0,744.75,564885.0,4126.8 15 | 2004-07-12,744.0,752.0,717.5,720.0,724.25,344052.0,2520.84 16 | 2004-07-13,727.7,739.9,720.0,737.9,731.15,236313.0,1721.16 17 | 2004-07-14,738.0,740.0,712.15,716.75,716.8,268530.0,1948.07 18 | 2004-07-15,725.0,732.0,715.0,726.0,724.4,203453.0,1474.19 19 | 2004-07-16,727.8,763.9,727.0,754.9,755.95,820709.0,6176.16 20 | 2004-07-19,758.8,777.0,748.0,764.0,765.15,776088.0,5943.86 21 | 2004-07-20,762.0,799.0,756.0,791.15,792.8,1624418.0,12727.16 22 | 2004-07-21,795.0,806.2,776.15,785.0,796.3,1116756.0,8912.05 23 | 2004-07-22,794.8,806.7,775.25,781.0,784.2,674330.0,5364.38 24 | 2004-07-23,784.0,789.0,765.2,778.0,775.65,566045.0,4378.33 25 | 2004-07-26,760.0,783.7,755.0,776.3,774.9,678799.0,5241.47 26 | 2004-07-27,779.95,797.0,755.2,791.3,790.45,402026.0,3164.67 27 | 2004-07-28,805.0,835.0,770.0,771.0,771.7,341758.0,2668.59 28 | 2004-07-29,775.0,783.1,772.2,777.5,776.75,289202.0,2247.64 29 | 2004-07-30,783.0,789.7,768.85,775.0,774.7,348355.0,2720.55 30 | 2004-08-02,781.5,784.9,750.5,760.1,760.05,433862.0,3321.96 31 | 2004-08-03,764.0,776.0,762.5,772.25,768.6,342187.0,2634.28 32 | 2004-08-04,768.0,804.0,766.0,800.1,798.1,704854.0,5565.96 33 | 2004-08-05,783.0,814.5,783.0,808.0,810.65,629650.0,5056.51 34 | 2004-08-06,822.4,822.4,797.25,804.0,808.2,609738.0,4920.22 35 | 2004-08-09,800.0,822.0,800.0,807.0,811.0,446352.0,3632.87 36 | 2004-08-10,812.0,816.9,801.2,802.0,805.6,195698.0,1585.96 37 | 2004-08-11,805.95,812.0,765.0,775.0,774.35,280902.0,2220.69 38 | 2004-08-12,780.0,795.0,768.05,774.55,773.15,392416.0,3071.91 39 | 2004-08-13,782.0,782.9,761.65,765.0,766.35,318820.0,2463.34 40 | 2004-08-16,772.5,782.05,760.1,781.8,779.7,366137.0,2830.63 41 | 2004-08-17,777.0,792.4,777.0,788.05,786.55,188220.0,1480.26 42 | 2004-08-18,787.0,787.0,770.0,772.0,772.45,83479.0,648.84 43 | 2004-08-19,774.9,811.0,774.9,810.1,809.4,650739.0,5217.91 44 | 2004-08-20,815.0,815.0,792.3,796.8,797.9,292966.0,2346.43 45 | 2004-08-23,804.9,809.9,787.0,802.5,801.0,418188.0,3339.53 46 | 2004-08-24,804.7,828.9,802.0,825.2,825.05,774656.0,6360.36 47 | 2004-08-25,829.0,839.7,820.0,831.7,834.6,404841.0,3358.49 48 | 2004-08-26,845.0,845.0,807.25,812.0,812.95,379057.0,3107.34 49 | 2004-08-27,816.0,824.85,812.0,818.8,817.15,204800.0,1677.51 50 | 2004-08-30,830.0,830.0,815.1,820.15,820.55,151567.0,1245.9 51 | 2004-08-31,824.4,835.0,817.0,834.1,833.15,222351.0,1838.7 52 | 2004-09-01,821.05,879.5,800.0,876.0,874.0,1104602.0,9520.96 53 | 2004-09-02,865.0,898.3,855.1,856.5,860.15,1182700.0,10388.58 54 | 2004-09-03,858.0,875.85,850.0,860.0,860.6,802113.0,6923.23 55 | 2004-09-06,867.0,876.0,853.3,855.0,855.15,494799.0,4270.58 56 | 2004-09-07,864.0,868.0,852.2,857.15,856.35,348205.0,2990.39 57 | 2004-09-08,865.7,865.7,848.9,854.5,853.85,296994.0,2543.11 58 | 2004-09-09,860.0,864.0,845.0,850.95,848.3,412212.0,3520.88 59 | 2004-09-10,853.7,853.7,844.0,849.9,849.6,278116.0,2359.85 60 | 2004-09-13,850.0,850.0,837.1,840.2,840.75,597616.0,5030.85 61 | 2004-09-14,835.0,852.7,826.1,846.6,844.4,663387.0,5543.26 62 | 2004-09-15,850.0,855.0,831.35,835.15,839.2,439092.0,3710.84 63 | 2004-09-16,839.0,849.5,836.0,845.0,846.5,240005.0,2022.48 64 | 2004-09-17,848.8,867.9,842.0,852.5,854.05,390731.0,3353.33 65 | 2004-09-20,856.5,865.0,855.0,862.0,861.1,192360.0,1655.14 66 | 2004-09-21,867.0,867.0,850.0,858.0,855.25,187594.0,1607.78 67 | 2004-09-22,863.9,882.0,857.15,875.0,871.65,455208.0,3969.17 68 | 2004-09-23,865.0,880.0,850.15,857.0,857.9,204766.0,1779.57 69 | 2004-09-24,870.0,877.85,862.0,877.0,874.55,291144.0,2533.4 70 | 2004-09-27,884.9,890.0,870.15,872.0,874.4,428880.0,3777.1 71 | 2004-09-28,880.0,880.0,849.15,849.15,857.6,234660.0,2032.75 72 | 2004-09-29,855.0,865.0,848.6,852.0,850.75,221933.0,1899.29 73 | 2004-09-30,858.0,863.0,852.0,855.0,855.85,156371.0,1339.8 74 | 2004-10-01,857.0,879.0,857.0,873.05,875.25,247901.0,2156.77 75 | 2004-10-04,880.0,894.85,871.25,874.0,877.15,231803.0,2043.16 76 | 2004-10-05,875.0,881.0,860.1,865.0,862.45,164121.0,1424.15 77 | 2004-10-06,869.0,874.0,845.0,848.0,847.6,240900.0,2060.51 78 | 2004-10-07,855.0,859.0,841.5,849.0,848.75,281421.0,2390.48 79 | 2004-10-08,849.8,853.0,840.0,841.0,842.15,280669.0,2373.37 80 | 2004-10-09,850.0,855.5,841.0,844.5,844.4,84456.0,716.02 81 | 2004-10-11,854.9,854.9,845.0,850.0,847.1,144305.0,1225.48 82 | 2004-10-12,850.0,850.0,835.0,840.5,836.2,117197.0,983.42 83 | 2004-10-14,843.9,860.0,839.0,850.0,853.25,226247.0,1919.93 84 | 2004-10-15,857.8,873.5,838.0,841.8,841.0,443349.0,3804.02 85 | 2004-10-18,847.0,850.0,835.25,840.0,838.0,179499.0,1509.12 86 | 2004-10-19,844.8,846.5,836.1,846.0,842.75,241331.0,2030.42 87 | 2004-10-20,846.5,846.5,836.0,842.1,838.45,96848.0,814.23 88 | 2004-10-21,838.0,838.0,816.35,821.0,820.75,388309.0,3193.93 89 | 2004-10-25,824.7,836.8,812.5,829.5,830.35,417347.0,3440.9 90 | 2004-10-26,835.0,835.0,795.0,804.0,804.3,736027.0,5930.01 91 | 2004-10-27,809.8,818.45,790.35,791.0,795.55,245495.0,1973.23 92 | 2004-10-28,799.75,821.5,798.0,810.0,810.35,281507.0,2281.51 93 | 2004-10-29,817.45,835.5,805.0,830.5,830.25,213235.0,1748.84 94 | 2004-11-01,827.0,836.35,816.0,834.0,833.95,161253.0,1335.5 95 | 2004-11-02,839.85,839.85,816.3,818.0,820.65,243763.0,2005.62 96 | 2004-11-03,822.0,832.0,821.0,832.0,831.2,159689.0,1324.64 97 | 2004-11-04,831.0,834.8,822.0,827.0,825.05,89865.0,742.71 98 | 2004-11-05,827.0,847.0,825.0,839.0,842.2,160724.0,1346.47 99 | 2004-11-08,843.0,860.0,840.0,852.0,851.85,242025.0,2065.39 100 | 2004-11-09,846.0,858.0,840.25,858.0,854.15,237027.0,2018.99 101 | 2004-11-10,860.0,860.0,844.55,851.1,852.25,160185.0,1364.23 102 | 2004-11-11,856.0,860.0,840.0,858.0,855.45,213185.0,1817.17 103 | 2004-11-12,859.9,869.0,856.0,857.0,858.35,53701.0,461.13 104 | 2004-11-16,859.0,872.45,854.2,861.0,858.8,303791.0,2626.52 105 | 2004-11-17,841.05,867.0,841.05,852.0,848.5,162618.0,1389.19 106 | 2004-11-18,856.0,865.0,849.0,861.0,861.05,106381.0,910.56 107 | 2004-11-19,866.85,866.85,844.0,846.5,848.6,131811.0,1121.16 108 | 2004-11-22,859.7,859.7,831.35,847.7,846.35,52015.0,439.0 109 | 2004-11-23,850.0,854.95,838.1,853.05,850.7,129543.0,1097.56 110 | 2004-11-24,854.35,864.3,845.05,863.0,860.85,154683.0,1320.71 111 | 2004-11-25,861.0,878.0,857.0,875.0,875.4,267647.0,2330.9 112 | 2004-11-29,870.0,887.0,854.0,882.0,880.75,261303.0,2288.89 113 | 2004-11-30,886.0,913.7,871.0,902.0,903.9,517005.0,4641.59 114 | 2004-12-01,900.2,936.9,890.15,918.05,922.5,725464.0,6649.79 115 | 2004-12-02,920.0,984.0,920.0,945.0,954.05,1002971.0,9679.65 116 | 2004-12-03,955.25,1004.9,955.25,998.0,997.35,1580856.0,15651.64 117 | 2004-12-06,1000.0,1009.9,950.05,951.0,958.2,624145.0,6066.57 118 | 2004-12-07,979.9,979.9,906.65,915.3,915.35,569509.0,5320.86 119 | 2004-12-08,920.0,946.0,910.3,914.7,913.75,477727.0,4443.88 120 | 2004-12-09,921.8,934.0,900.0,905.0,904.95,492987.0,4518.96 121 | 2004-12-10,915.8,925.1,901.0,904.9,906.15,427305.0,3886.38 122 | 2004-12-13,910.0,920.0,906.15,909.0,908.15,288209.0,2624.81 123 | 2004-12-14,910.0,918.0,907.15,911.8,910.0,245445.0,2239.54 124 | 2004-12-15,918.9,964.0,910.0,944.5,944.85,715287.0,6736.31 125 | 2004-12-16,948.0,995.95,948.0,989.05,990.3,1215995.0,11922.46 126 | 2004-12-17,990.0,995.0,931.2,940.0,940.85,684152.0,6570.84 127 | 2004-12-20,955.0,990.0,940.0,982.0,979.8,722230.0,7038.28 128 | 2004-12-21,994.0,994.0,959.0,982.95,978.9,664247.0,6472.71 129 | 2004-12-22,985.0,986.0,960.0,965.0,973.65,395827.0,3843.5 130 | 2004-12-23,983.8,984.95,973.0,980.0,980.3,184348.0,1804.1 131 | 2004-12-24,984.9,999.0,973.05,976.0,977.8,354757.0,3503.12 132 | 2004-12-27,975.0,996.0,972.0,993.0,991.55,307422.0,3042.72 133 | 2004-12-28,982.0,1010.0,982.0,997.5,1004.2,413819.0,4144.48 134 | 2004-12-29,1004.0,1021.0,985.0,986.0,989.0,251025.0,2510.11 135 | 2004-12-30,993.95,1000.0,967.0,999.0,990.55,347903.0,3417.5 136 | 2004-12-31,991.0,999.75,980.0,980.1,984.55,134789.0,1335.69 137 | -------------------------------------------------------------------------------- /Historical data/2004/NTPC-2004.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2004-11-05,88.0,88.0,70.0,75.55,75.55,232535736.0,170036.32 3 | 2004-11-08,76.8,78.6,75.0,75.15,75.2,68865277.0,52940.24 4 | 2004-11-09,75.1,76.1,74.55,75.25,75.3,37460886.0,28202.36 5 | 2004-11-10,75.5,75.95,75.0,75.05,75.05,17413433.0,13115.85 6 | 2004-11-11,75.35,75.4,74.3,74.6,74.45,15961426.0,11930.37 7 | 2004-11-12,75.0,82.4,73.65,74.55,74.65,4253463.0,3178.86 8 | 2004-11-16,74.7,74.8,73.2,73.7,73.65,13254394.0,9770.65 9 | 2004-11-17,73.7,75.2,73.5,73.7,73.6,20036184.0,14871.97 10 | 2004-11-18,75.0,79.85,73.5,73.5,73.65,17954359.0,13249.79 11 | 2004-11-19,73.65,74.85,73.5,73.65,73.55,15895741.0,11775.35 12 | 2004-11-22,73.6,75.05,72.0,74.4,74.45,28118069.0,20764.92 13 | 2004-11-23,75.0,76.5,74.95,76.1,75.85,29755772.0,22590.6 14 | 2004-11-24,76.55,78.0,76.2,77.85,77.8,30821250.0,23848.43 15 | 2004-11-25,77.9,79.0,76.8,76.95,77.05,23538442.0,18348.94 16 | 2004-11-29,77.2,78.0,76.75,77.5,77.3,14201592.0,10973.35 17 | 2004-11-30,77.9,79.7,76.85,79.25,79.1,39953911.0,31425.01 18 | 2004-12-01,79.5,80.5,79.0,79.65,79.7,33721820.0,26934.8 19 | 2004-12-02,80.5,81.35,79.95,80.45,80.45,18200351.0,14693.07 20 | 2004-12-03,80.75,80.9,79.25,79.6,79.6,12751825.0,10177.4 21 | 2004-12-06,81.6,82.1,79.65,80.0,79.9,10983285.0,8823.17 22 | 2004-12-07,80.2,81.75,79.55,80.65,80.45,21482990.0,17369.31 23 | 2004-12-08,80.7,81.2,79.55,80.05,80.0,21705590.0,17459.63 24 | 2004-12-09,79.9,80.35,79.6,80.0,80.0,9418563.0,7535.35 25 | 2004-12-10,81.6,81.6,78.7,78.9,79.0,9916789.0,7893.55 26 | 2004-12-13,79.15,80.0,78.85,79.55,79.6,7050908.0,5605.57 27 | 2004-12-14,80.1,81.75,79.8,81.65,81.6,16024313.0,12969.47 28 | 2004-12-15,82.0,84.5,81.95,83.9,84.1,23958928.0,19981.98 29 | 2004-12-16,84.5,85.0,83.5,83.8,83.8,9719163.0,8164.03 30 | 2004-12-17,84.1,84.2,82.5,83.1,83.0,8752951.0,7288.7 31 | 2004-12-20,83.0,83.95,83.0,83.2,83.25,6285852.0,5243.43 32 | 2004-12-21,83.5,84.8,83.45,84.5,84.5,10321921.0,8699.51 33 | 2004-12-22,84.95,84.95,82.9,82.95,83.15,8455261.0,7081.21 34 | 2004-12-23,83.0,84.0,83.0,83.3,83.25,5830509.0,4870.16 35 | 2004-12-24,83.75,84.4,83.3,83.8,83.65,5597965.0,4694.33 36 | 2004-12-27,83.5,85.5,83.0,85.25,85.05,10965357.0,9298.52 37 | 2004-12-28,85.45,87.15,85.3,87.1,86.95,10554064.0,9134.38 38 | 2004-12-29,87.0,89.1,86.6,86.75,87.05,16424060.0,14380.05 39 | 2004-12-30,87.15,87.8,85.3,85.65,85.65,16434144.0,14176.21 40 | 2004-12-31,86.1,87.9,86.0,87.7,87.25,6575789.0,5714.15 41 | -------------------------------------------------------------------------------- /Historical data/2004/TCS-2004.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2004-08-25,1198.7,1198.7,979.0,985.0,987.95,17116372.0,172587.61 3 | 2004-08-26,992.0,997.0,975.3,976.85,979.0,5055400.0,49828.65 4 | 2004-08-27,982.4,982.4,958.55,961.2,962.65,3830750.0,37155.86 5 | 2004-08-30,969.9,990.0,965.0,986.4,986.75,3058151.0,30051.06 6 | 2004-08-31,986.5,990.0,976.0,987.8,988.1,2649332.0,26021.33 7 | 2004-09-01,990.0,995.0,983.6,986.0,987.9,2491943.0,24662.36 8 | 2004-09-02,989.9,1004.6,986.0,994.0,993.65,2669544.0,26614.26 9 | 2004-09-03,1006.0,1100.0,990.35,998.7,997.85,1233732.0,12299.17 10 | 2004-09-06,1039.9,1039.9,992.9,996.8,994.85,1129834.0,11285.54 11 | 2004-09-07,1035.0,1035.0,995.0,995.0,995.6,721529.0,7196.11 12 | 2004-09-08,996.0,1000.8,991.1,992.25,993.7,824248.0,8203.62 13 | 2004-09-09,997.0,997.9,978.45,979.65,979.95,993398.0,9786.57 14 | 2004-09-10,990.0,990.0,976.0,989.95,988.8,801884.0,7899.51 15 | 2004-09-13,991.0,1015.5,991.0,1002.75,1003.5,2613114.0,26322.21 16 | 2004-09-14,1005.0,1018.8,1002.95,1015.95,1015.65,1916934.0,19417.63 17 | 2004-09-15,1018.0,1020.0,1001.2,1005.0,1006.1,1498536.0,15122.08 18 | 2004-09-16,1007.0,1015.0,1002.5,1011.0,1008.45,919778.0,9288.06 19 | 2004-09-17,1012.0,1029.9,1010.3,1029.9,1024.5,1828487.0,18670.47 20 | 2004-09-20,1032.4,1036.9,1020.15,1022.5,1022.9,1069028.0,10998.44 21 | 2004-09-21,1024.85,1048.5,1022.0,1047.4,1045.8,1737135.0,18058.22 22 | 2004-09-22,1048.4,1056.0,1037.1,1049.9,1052.05,1921448.0,20128.57 23 | 2004-09-23,1048.0,1049.0,1027.0,1028.0,1030.25,1977460.0,20522.0 24 | 2004-09-24,1029.1,1040.0,1026.0,1027.6,1028.8,1010401.0,10446.93 25 | 2004-09-27,1027.5,1032.5,1015.0,1019.0,1020.75,1028689.0,10517.68 26 | 2004-09-28,1016.0,1027.4,1012.5,1016.2,1015.55,792427.0,8089.25 27 | 2004-09-29,1019.25,1033.0,1016.15,1031.0,1031.0,1467147.0,15032.54 28 | 2004-09-30,1035.6,1040.9,1020.65,1025.1,1027.1,1565179.0,16163.97 29 | 2004-10-01,1029.0,1056.45,1026.35,1048.5,1047.7,1371111.0,14308.62 30 | 2004-10-04,1057.0,1081.0,1054.45,1079.2,1076.5,1891228.0,20271.86 31 | 2004-10-05,1080.3,1089.0,1075.5,1077.05,1080.7,1792661.0,19422.48 32 | 2004-10-06,1081.0,1102.8,1075.05,1082.0,1081.6,2208833.0,24078.13 33 | 2004-10-07,1083.0,1100.0,1083.0,1099.6,1097.1,1260016.0,13774.37 34 | 2004-10-08,1098.0,1111.0,1095.0,1097.8,1098.05,1069865.0,11803.19 35 | 2004-10-09,1099.9,1103.85,1094.25,1103.0,1100.65,258539.0,2843.38 36 | 2004-10-11,1100.0,1111.5,1085.0,1089.6,1089.3,1166507.0,12820.16 37 | 2004-10-12,1110.0,1115.0,1077.65,1080.0,1084.45,1950064.0,21321.21 38 | 2004-10-14,1103.0,1124.0,1088.05,1117.5,1116.2,2403248.0,26622.34 39 | 2004-10-15,1121.7,1141.0,1117.25,1127.6,1126.0,2224968.0,25126.93 40 | 2004-10-18,1134.0,1142.0,1125.25,1134.0,1137.25,1711668.0,19436.43 41 | 2004-10-19,1140.15,1148.7,1136.1,1143.0,1143.2,1470891.0,16800.75 42 | 2004-10-20,1144.8,1149.9,1129.0,1134.2,1133.25,900854.0,10284.02 43 | 2004-10-21,1137.25,1139.0,1122.0,1127.0,1125.55,801690.0,9056.53 44 | 2004-10-25,1125.0,1127.0,1110.75,1118.0,1117.35,1173784.0,13114.29 45 | 2004-10-26,1115.6,1140.95,1115.6,1140.2,1137.2,866595.0,9792.86 46 | 2004-10-27,1142.25,1148.0,1135.2,1140.5,1139.9,979707.0,11192.47 47 | 2004-10-28,1145.0,1174.8,1145.0,1164.0,1165.95,2323927.0,27073.16 48 | 2004-10-29,1167.95,1167.95,1145.15,1158.0,1156.25,1082722.0,12506.91 49 | 2004-11-01,1150.0,1174.45,1142.3,1170.0,1170.65,767196.0,8916.09 50 | 2004-11-02,1130.0,1179.75,1125.0,1160.95,1159.7,1108005.0,12894.85 51 | 2004-11-03,1161.0,1184.0,1161.0,1175.6,1175.2,1122267.0,13190.61 52 | 2004-11-04,1181.75,1187.9,1167.7,1169.0,1170.4,819476.0,9649.17 53 | 2004-11-05,1173.95,1180.0,1160.0,1165.9,1165.45,627981.0,7321.88 54 | 2004-11-08,1165.0,1188.9,1156.0,1183.0,1184.15,1286466.0,15172.96 55 | 2004-11-09,1187.0,1197.9,1177.0,1186.1,1188.4,917339.0,10910.98 56 | 2004-11-10,1191.0,1199.0,1190.1,1195.4,1194.35,716799.0,8567.08 57 | 2004-11-11,1199.0,1203.4,1191.1,1196.0,1196.25,654391.0,7841.91 58 | 2004-11-12,1204.0,1208.0,1190.2,1191.85,1196.75,226676.0,2719.66 59 | 2004-11-16,1198.0,1198.0,1184.0,1191.0,1190.9,500688.0,5960.88 60 | 2004-11-17,1191.5,1209.9,1191.5,1207.0,1205.4,683492.0,8235.96 61 | 2004-11-18,1209.45,1234.55,1206.5,1231.0,1231.0,934016.0,11387.05 62 | 2004-11-19,1233.0,1237.0,1211.1,1214.0,1217.1,851595.0,10437.38 63 | 2004-11-22,1207.8,1226.0,1195.0,1226.0,1222.45,592284.0,7198.98 64 | 2004-11-23,1230.6,1242.0,1224.15,1239.5,1235.55,539099.0,6654.8 65 | 2004-11-24,1239.0,1245.0,1230.15,1234.0,1233.9,402913.0,4992.21 66 | 2004-11-25,1234.0,1244.0,1208.65,1214.0,1216.85,788859.0,9674.76 67 | 2004-11-29,1216.0,1247.7,1205.55,1247.0,1243.9,660186.0,8133.64 68 | 2004-11-30,1248.15,1286.0,1245.0,1278.0,1274.65,1313518.0,16583.64 69 | 2004-12-01,1281.0,1281.0,1257.0,1258.4,1261.55,1060233.0,13420.96 70 | 2004-12-02,1265.0,1277.0,1239.1,1246.0,1242.6,1207213.0,15103.36 71 | 2004-12-03,1249.25,1255.9,1221.55,1235.25,1236.75,1222152.0,15138.22 72 | 2004-12-06,1240.0,1250.0,1208.5,1212.9,1214.55,1434234.0,17540.8 73 | 2004-12-07,1216.0,1232.9,1215.0,1218.0,1218.25,982903.0,12022.62 74 | 2004-12-08,1218.0,1226.6,1196.05,1200.0,1200.8,916176.0,11101.3 75 | 2004-12-09,1204.95,1217.0,1204.85,1215.0,1211.45,475153.0,5756.6 76 | 2004-12-10,1220.0,1235.5,1214.0,1224.95,1225.65,777101.0,9531.81 77 | 2004-12-13,1226.0,1241.65,1225.25,1238.0,1236.15,624529.0,7710.42 78 | 2004-12-14,1242.0,1244.7,1230.3,1234.0,1233.15,385438.0,4767.08 79 | 2004-12-15,1244.0,1254.75,1238.0,1246.5,1245.5,721584.0,9001.67 80 | 2004-12-16,1248.45,1265.0,1238.0,1262.5,1262.65,543808.0,6812.18 81 | 2004-12-17,1260.0,1274.8,1252.1,1257.1,1256.5,688719.0,8704.61 82 | 2004-12-20,1260.0,1268.5,1256.5,1261.0,1262.55,283553.0,3579.68 83 | 2004-12-21,1264.95,1277.0,1263.15,1272.0,1272.7,432314.0,5492.54 84 | 2004-12-22,1275.1,1275.1,1230.0,1242.0,1240.15,750214.0,9348.02 85 | 2004-12-23,1247.7,1247.7,1225.0,1228.6,1227.85,493614.0,6096.5 86 | 2004-12-24,1232.95,1272.0,1221.55,1270.05,1267.95,832732.0,10442.47 87 | 2004-12-27,1270.0,1285.0,1262.2,1268.3,1270.55,550063.0,7025.37 88 | 2004-12-28,1272.0,1314.0,1266.2,1312.05,1309.35,1201806.0,15593.22 89 | 2004-12-29,1316.95,1336.9,1313.15,1318.65,1320.25,829153.0,10980.01 90 | 2004-12-30,1318.0,1328.0,1291.85,1297.3,1296.65,703349.0,9191.18 91 | 2004-12-31,1300.0,1338.8,1296.65,1337.0,1335.45,612414.0,8101.47 92 | -------------------------------------------------------------------------------- /Historical data/2004/ULTRACEMCO-2004.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2004-08-24,305.0,340.0,253.25,259.0,260.2,6633956.0,17832.37 3 | 2004-08-25,262.0,264.7,249.2,255.0,255.55,2794161.0,7140.11 4 | 2004-08-26,257.75,272.5,256.0,270.1,270.7,2340926.0,6250.23 5 | 2004-08-27,272.0,272.55,260.65,261.35,262.25,915106.0,2419.53 6 | 2004-08-30,263.7,269.0,262.05,267.0,266.1,387417.0,1028.11 7 | 2004-08-31,266.8,267.8,264.3,266.45,266.2,261123.0,694.6 8 | 2004-09-01,267.0,273.45,265.0,267.0,267.2,311985.0,840.6 9 | 2004-09-02,267.85,269.5,260.0,264.0,262.2,205537.0,543.87 10 | 2004-09-03,262.2,264.9,257.5,262.65,262.65,303156.0,791.23 11 | 2004-09-06,263.5,267.85,263.0,264.75,265.3,74691.0,198.6 12 | 2004-09-07,264.0,265.8,263.55,265.0,264.85,128275.0,339.56 13 | 2004-09-08,266.0,266.0,262.6,263.5,263.45,95094.0,251.0 14 | 2004-09-09,264.5,265.0,254.8,256.5,256.0,229786.0,594.19 15 | 2004-09-10,256.9,264.4,254.35,258.1,258.6,313469.0,810.66 16 | 2004-09-13,256.0,262.15,256.0,260.8,260.65,100186.0,261.27 17 | 2004-09-14,261.0,263.5,259.0,261.0,261.1,87282.0,227.78 18 | 2004-09-15,262.7,266.95,261.5,263.0,263.9,179209.0,473.74 19 | 2004-09-16,264.0,266.7,261.0,266.7,265.6,113885.0,301.25 20 | 2004-09-17,267.0,274.45,266.1,271.0,271.0,193931.0,524.84 21 | 2004-09-20,272.0,283.0,272.0,276.95,277.35,447036.0,1249.86 22 | 2004-09-21,280.0,281.8,275.0,275.8,276.3,317565.0,882.2 23 | 2004-09-22,281.5,281.95,275.05,280.8,279.25,142156.0,396.46 24 | 2004-09-23,273.0,279.0,268.8,268.95,269.9,71981.0,197.28 25 | 2004-09-24,269.5,273.0,267.1,271.3,270.8,64135.0,173.06 26 | 2004-09-27,271.5,273.9,269.3,273.9,272.8,43976.0,119.44 27 | 2004-09-28,272.8,272.8,263.6,264.5,265.7,116744.0,311.61 28 | 2004-09-29,266.9,267.5,262.65,264.5,264.45,84483.0,223.62 29 | 2004-09-30,266.4,268.75,264.95,265.0,266.05,45563.0,121.69 30 | 2004-10-01,266.0,268.0,264.0,264.0,265.25,59466.0,158.22 31 | 2004-10-04,268.8,270.9,263.0,270.0,269.05,173799.0,464.94 32 | 2004-10-05,269.0,271.0,264.0,264.75,265.25,74731.0,199.56 33 | 2004-10-06,266.5,298.9,266.5,293.0,295.0,1072401.0,3107.98 34 | 2004-10-07,295.0,354.0,294.0,316.05,316.45,2122276.0,6856.32 35 | 2004-10-08,318.1,331.35,316.45,322.0,320.4,599337.0,1934.78 36 | 2004-10-09,321.4,322.0,314.0,316.0,315.65,90585.0,287.61 37 | 2004-10-11,315.0,318.6,301.25,303.3,304.7,121262.0,376.98 38 | 2004-10-12,307.0,311.0,298.1,298.6,300.15,146878.0,445.94 39 | 2004-10-14,303.7,303.7,286.55,290.2,289.1,89146.0,260.0 40 | 2004-10-15,294.8,299.8,288.0,289.1,290.7,115264.0,338.29 41 | 2004-10-18,293.9,295.0,285.0,287.2,286.8,59350.0,171.73 42 | 2004-10-19,291.4,291.4,282.6,285.05,285.6,72458.0,208.15 43 | 2004-10-20,288.4,292.3,285.5,286.1,286.55,95374.0,275.73 44 | 2004-10-21,288.4,296.5,285.0,293.0,292.25,81976.0,237.74 45 | 2004-10-25,295.5,305.3,284.6,285.15,286.35,215408.0,633.65 46 | 2004-10-26,289.9,294.8,281.55,292.5,289.5,105215.0,302.67 47 | 2004-10-27,285.0,313.9,285.0,297.75,299.15,656655.0,1966.34 48 | 2004-10-28,301.0,311.0,297.0,306.35,306.6,326585.0,995.38 49 | 2004-10-29,302.2,306.75,301.0,302.5,303.25,76737.0,232.8 50 | 2004-11-01,305.0,305.0,289.0,301.0,301.3,190801.0,569.37 51 | 2004-11-02,306.0,310.0,302.0,307.0,306.9,109175.0,335.01 52 | 2004-11-03,307.5,310.0,303.0,305.0,305.15,93238.0,284.87 53 | 2004-11-04,308.8,308.8,299.0,299.65,300.0,32815.0,99.3 54 | 2004-11-05,303.0,303.0,290.0,294.0,292.35,61849.0,182.17 55 | 2004-11-08,297.4,302.0,290.25,294.0,292.5,80765.0,239.54 56 | 2004-11-09,296.4,300.0,293.3,294.5,295.55,48772.0,144.7 57 | 2004-11-10,298.0,298.8,291.5,292.8,292.5,107489.0,318.33 58 | 2004-11-11,293.6,296.4,286.55,287.75,287.95,131265.0,381.65 59 | 2004-11-12,292.9,293.4,289.15,291.5,291.5,29798.0,86.9 60 | 2004-11-16,293.65,294.95,289.0,294.95,294.05,48466.0,141.89 61 | 2004-11-17,296.0,296.0,283.0,283.55,283.85,222899.0,640.82 62 | 2004-11-18,285.0,288.75,283.1,285.0,284.3,95728.0,273.97 63 | 2004-11-19,286.7,287.0,280.5,282.0,282.15,116142.0,330.39 64 | 2004-11-22,283.0,284.0,278.3,278.5,278.9,112962.0,316.75 65 | 2004-11-23,285.0,285.0,276.0,276.95,277.7,193928.0,542.68 66 | 2004-11-24,281.8,287.0,280.4,286.2,285.45,345777.0,980.63 67 | 2004-11-25,294.6,299.85,289.5,294.5,294.8,397748.0,1177.53 68 | 2004-11-29,295.0,299.8,295.0,297.55,297.6,146544.0,434.99 69 | 2004-11-30,298.95,298.95,294.0,295.0,295.2,172784.0,510.17 70 | 2004-12-01,296.0,297.85,295.0,296.0,295.55,85290.0,252.26 71 | 2004-12-02,297.0,305.0,296.0,301.95,302.35,317401.0,955.31 72 | 2004-12-03,305.55,306.6,295.0,295.0,295.75,339368.0,1013.55 73 | 2004-12-06,297.05,298.0,293.25,294.0,294.3,200821.0,593.3 74 | 2004-12-07,295.0,304.65,295.0,302.0,302.25,288631.0,866.94 75 | 2004-12-08,302.0,304.9,297.0,300.6,300.15,201937.0,607.47 76 | 2004-12-09,302.6,302.6,297.0,297.15,298.7,143942.0,431.42 77 | 2004-12-10,300.0,304.45,295.0,303.0,300.65,318295.0,951.88 78 | 2004-12-13,303.0,305.0,300.65,303.0,301.95,43952.0,132.94 79 | 2004-12-14,303.0,310.75,302.65,306.0,305.95,141686.0,435.45 80 | 2004-12-15,308.45,308.5,304.0,307.0,305.5,62276.0,190.42 81 | 2004-12-16,306.0,310.9,302.0,308.2,309.3,137963.0,425.31 82 | 2004-12-17,308.05,312.95,302.2,309.2,305.15,195396.0,601.1 83 | 2004-12-20,310.0,314.4,310.0,314.0,312.4,212500.0,663.72 84 | 2004-12-21,316.45,324.9,314.2,317.5,316.55,78287.0,247.61 85 | 2004-12-22,316.05,318.9,305.0,306.05,307.65,89638.0,277.95 86 | 2004-12-23,305.0,310.0,304.25,309.5,308.6,79870.0,245.96 87 | 2004-12-24,312.0,317.0,308.0,315.5,315.55,121155.0,381.31 88 | 2004-12-27,318.0,334.2,306.05,326.3,326.55,171748.0,557.09 89 | 2004-12-28,321.05,333.9,321.05,326.3,326.85,97057.0,317.99 90 | 2004-12-29,334.0,334.0,319.1,328.0,327.2,98486.0,320.44 91 | 2004-12-30,329.5,351.8,328.5,338.0,338.2,222632.0,756.15 92 | 2004-12-31,340.05,349.5,336.0,340.0,340.45,86142.0,296.12 93 | -------------------------------------------------------------------------------- /Historical data/2005/JSWSTEEL-2005.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2005-09-16,300.0,317.45,298.2,315.0,314.55,906566.0,2802.33 3 | 2005-09-19,315.0,322.95,313.5,317.45,315.55,377529.0,1200.48 4 | 2005-09-20,315.0,319.5,301.0,310.0,310.3,203635.0,639.32 5 | 2005-09-21,311.5,313.0,284.0,299.1,300.15,450484.0,1339.11 6 | 2005-09-22,298.0,298.5,280.0,283.0,281.4,408808.0,1174.4 7 | 2005-09-23,282.0,299.4,275.15,284.95,284.45,206517.0,587.11 8 | 2005-09-26,285.1,294.0,285.1,292.5,291.6,222422.0,645.7 9 | 2005-09-27,295.0,301.5,292.0,296.05,295.7,198214.0,589.0 10 | 2005-09-28,297.0,298.95,295.15,296.0,295.8,126820.0,375.51 11 | 2005-09-29,297.0,302.0,293.0,296.0,296.05,247189.0,737.06 12 | 2005-09-30,297.0,297.8,281.0,289.2,290.0,280107.0,810.96 13 | 2005-10-03,290.0,299.4,290.0,294.0,292.85,112396.0,331.46 14 | 2005-10-04,294.8,298.0,292.55,294.95,293.95,102577.0,302.39 15 | 2005-10-05,295.0,296.0,290.6,291.8,291.75,76576.0,224.34 16 | 2005-10-06,291.0,291.0,282.1,282.6,283.4,125193.0,357.34 17 | 2005-10-07,285.0,287.7,280.35,281.85,281.3,109383.0,309.4 18 | 2005-10-10,281.3,284.35,275.0,276.0,276.55,61091.0,170.45 19 | 2005-10-11,277.0,284.9,272.0,279.65,280.65,248932.0,695.23 20 | 2005-10-13,276.1,281.15,265.5,267.0,269.8,126237.0,347.37 21 | 2005-10-14,268.0,275.0,256.5,258.2,257.6,217700.0,572.27 22 | 2005-10-17,265.0,265.0,252.4,254.0,254.05,109755.0,282.09 23 | 2005-10-18,255.0,260.4,250.1,250.1,251.1,98486.0,252.44 24 | 2005-10-19,251.1,251.1,240.0,241.65,240.7,141803.0,345.65 25 | 2005-10-20,248.8,250.35,215.0,220.0,221.55,312006.0,718.0 26 | 2005-10-21,220.0,225.0,216.35,217.9,218.1,177638.0,388.52 27 | 2005-10-24,218.5,221.3,210.2,211.7,212.45,119606.0,259.42 28 | 2005-10-25,218.6,218.6,204.0,205.85,205.25,209312.0,439.59 29 | 2005-10-26,205.6,212.9,202.1,209.5,209.95,174140.0,364.69 30 | 2005-10-27,210.95,210.95,199.5,201.0,200.45,107665.0,219.12 31 | 2005-10-28,202.0,209.0,200.0,202.0,201.55,186966.0,379.56 32 | 2005-10-31,202.0,211.5,201.15,209.1,209.7,106927.0,220.41 33 | 2005-11-01,210.0,214.65,210.0,212.0,212.85,33504.0,71.27 34 | 2005-11-02,213.0,214.0,205.5,212.3,212.35,62520.0,131.24 35 | 2005-11-07,214.8,219.75,209.0,214.0,215.1,163819.0,353.4 36 | 2005-11-08,214.0,217.9,213.0,213.6,214.25,181765.0,390.73 37 | 2005-11-09,214.0,217.0,208.05,209.5,210.1,194741.0,411.43 38 | 2005-11-10,214.25,215.5,208.1,209.0,209.25,192226.0,408.26 39 | 2005-11-11,209.0,215.0,209.0,214.55,214.15,107979.0,230.65 40 | 2005-11-14,217.7,229.4,215.05,219.1,219.55,317574.0,700.58 41 | 2005-11-16,221.95,222.0,218.15,218.5,218.6,77191.0,169.92 42 | 2005-11-17,220.0,221.0,217.05,218.35,217.95,105566.0,230.83 43 | 2005-11-18,223.0,223.0,219.0,221.55,221.6,200554.0,442.45 44 | 2005-11-21,222.0,222.0,217.0,217.3,217.6,81034.0,176.95 45 | 2005-11-22,217.0,218.9,211.0,212.0,211.55,128585.0,276.82 46 | 2005-11-23,213.0,215.0,204.0,205.0,205.4,120355.0,250.02 47 | 2005-11-24,208.9,208.9,201.05,201.95,202.45,104544.0,213.03 48 | 2005-11-25,202.45,205.6,201.6,202.45,202.2,193616.0,393.12 49 | 2005-11-26,202.1,204.45,201.1,202.65,202.3,62404.0,126.37 50 | 2005-11-28,203.5,208.55,203.1,206.7,205.9,123914.0,254.98 51 | 2005-11-29,205.0,213.3,202.7,212.0,211.75,200683.0,417.41 52 | 2005-11-30,212.0,214.5,206.0,206.1,207.05,102966.0,217.21 53 | 2005-12-01,205.15,208.95,204.0,204.65,205.2,55717.0,114.64 54 | 2005-12-02,206.95,210.0,206.9,209.4,209.2,88840.0,185.51 55 | 2005-12-05,210.0,211.8,204.05,204.1,204.7,62409.0,129.15 56 | 2005-12-06,207.5,207.5,203.55,204.05,204.3,44333.0,91.01 57 | 2005-12-07,206.0,213.9,205.0,207.0,207.7,127452.0,265.98 58 | 2005-12-08,210.0,213.5,205.05,212.55,212.6,185364.0,389.53 59 | 2005-12-09,214.0,214.5,210.1,214.5,213.35,177571.0,377.24 60 | 2005-12-12,213.7,226.95,213.0,226.45,225.85,485792.0,1068.66 61 | 2005-12-13,226.0,229.5,221.1,228.15,224.9,489890.0,1099.46 62 | 2005-12-14,228.55,239.7,224.1,226.0,225.6,310013.0,710.34 63 | 2005-12-15,222.5,230.85,222.5,229.0,226.9,381688.0,867.69 64 | 2005-12-16,222.35,232.95,222.35,232.0,230.35,596983.0,1360.09 65 | 2005-12-19,231.0,237.25,231.0,235.1,236.45,300805.0,706.0 66 | 2005-12-20,230.05,238.9,227.0,227.0,229.95,332880.0,766.31 67 | 2005-12-21,229.4,229.4,222.1,222.4,225.65,669860.0,1510.84 68 | 2005-12-22,225.6,228.95,221.2,222.0,222.8,537443.0,1212.83 69 | 2005-12-23,224.8,226.0,215.05,223.15,220.4,589837.0,1288.02 70 | 2005-12-26,220.0,222.8,208.0,209.0,209.9,195350.0,414.74 71 | 2005-12-27,210.0,214.2,207.35,210.0,209.95,83177.0,175.98 72 | 2005-12-28,210.05,218.35,210.05,217.6,216.15,130139.0,278.47 73 | 2005-12-29,216.65,224.2,216.1,223.3,223.55,217891.0,481.99 74 | 2005-12-30,220.05,230.65,220.05,230.0,229.45,442734.0,1006.18 75 | -------------------------------------------------------------------------------- /Historical data/2005/TATASTEEL-2005.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2005-10-17,380.0,386.3,374.6,384.2,384.35,4618966.0,17639.41 3 | 2005-10-18,386.85,388.55,364.1,365.1,374.85,3408087.0,13024.16 4 | 2005-10-19,371.6,373.55,352.0,362.7,361.55,4549667.0,16641.13 5 | 2005-10-20,365.3,371.85,351.5,359.55,358.6,4132203.0,14995.74 6 | 2005-10-21,360.35,368.5,357.65,367.5,367.4,4355886.0,15852.25 7 | 2005-10-24,368.5,379.9,350.8,352.25,352.3,3894076.0,14012.75 8 | 2005-10-25,355.0,357.5,348.0,349.7,350.5,4574872.0,16112.43 9 | 2005-10-26,351.0,355.9,344.3,345.95,346.9,4196216.0,14697.31 10 | 2005-10-27,347.6,348.85,335.1,336.7,337.6,5109854.0,17399.88 11 | 2005-10-28,348.85,348.9,329.0,332.0,330.8,2394522.0,7985.88 12 | 2005-10-31,335.0,340.5,331.2,340.1,339.4,2029967.0,6828.37 13 | 2005-11-01,345.0,345.0,339.15,340.0,340.15,893405.0,3047.74 14 | 2005-11-02,341.4,351.0,331.0,349.5,348.95,4253299.0,14561.27 15 | 2005-11-07,340.5,366.5,340.5,362.1,363.65,7146401.0,25622.7 16 | 2005-11-08,365.9,368.95,357.25,363.5,362.1,5476390.0,19899.15 17 | 2005-11-09,364.1,368.8,360.0,361.05,362.75,5944366.0,21656.81 18 | 2005-11-10,362.8,365.7,360.25,363.5,363.35,2842920.0,10319.92 19 | 2005-11-11,365.7,373.3,365.0,372.1,371.3,3446474.0,12734.37 20 | 2005-11-14,374.3,374.4,360.2,365.3,365.6,3304676.0,12101.94 21 | 2005-11-16,369.0,370.0,363.05,366.2,367.55,1848823.0,6799.58 22 | 2005-11-17,369.9,374.0,359.0,366.0,367.05,4075733.0,14844.45 23 | 2005-11-18,369.0,375.0,368.2,369.0,370.2,3801307.0,14146.91 24 | 2005-11-21,371.5,371.9,359.1,359.5,360.8,2658137.0,9687.15 25 | 2005-11-22,360.45,362.0,349.15,349.9,351.1,3731824.0,13297.61 26 | 2005-11-23,350.0,351.1,339.25,342.6,342.65,5888523.0,20281.06 27 | 2005-11-24,343.0,348.7,340.6,343.25,342.4,6028302.0,20697.66 28 | 2005-11-25,344.2,348.0,338.0,342.0,342.25,4814894.0,16514.47 29 | 2005-11-26,342.4,346.0,342.4,344.6,344.2,928792.0,3197.31 30 | 2005-11-28,345.85,352.0,342.0,343.65,344.75,7795891.0,27053.41 31 | 2005-11-29,343.5,351.6,341.75,349.7,347.9,4502443.0,15634.38 32 | 2005-11-30,349.55,356.9,348.1,350.2,349.7,5545838.0,19556.8 33 | 2005-12-01,356.9,356.9,346.25,350.15,350.3,3626155.0,12729.88 34 | 2005-12-02,354.0,361.4,353.0,356.9,357.05,5256560.0,18788.23 35 | 2005-12-05,358.0,360.0,352.6,353.65,354.1,2820750.0,10053.7 36 | 2005-12-06,353.7,356.8,348.15,349.2,351.15,1786739.0,6321.41 37 | 2005-12-07,351.15,353.15,348.2,350.5,349.7,2013862.0,7062.08 38 | 2005-12-08,352.0,352.0,345.85,346.5,347.7,1926180.0,6717.91 39 | 2005-12-09,348.8,357.0,348.0,357.0,356.05,2981821.0,10545.3 40 | 2005-12-12,357.0,365.0,357.0,362.8,363.05,2965474.0,10733.25 41 | 2005-12-13,364.0,372.3,362.1,371.0,369.55,3690948.0,13534.78 42 | 2005-12-14,371.35,381.0,370.55,376.9,378.15,6028697.0,22692.12 43 | 2005-12-15,381.0,384.35,365.4,368.25,368.85,7117421.0,26826.49 44 | 2005-12-16,371.3,371.85,365.15,367.75,367.9,3549729.0,13073.31 45 | 2005-12-19,369.9,381.0,369.05,380.6,380.05,2896776.0,10863.11 46 | 2005-12-20,381.0,382.05,371.8,373.6,374.45,3691616.0,13899.76 47 | 2005-12-21,374.2,377.2,368.85,375.4,375.35,3806768.0,14209.44 48 | 2005-12-22,376.25,383.0,375.5,382.6,381.5,3647554.0,13839.79 49 | 2005-12-23,382.55,384.7,366.55,366.9,368.5,4313008.0,16171.27 50 | 2005-12-26,369.0,371.5,364.6,368.7,368.6,3707845.0,13666.92 51 | 2005-12-27,368.5,375.9,367.0,375.25,375.3,2037287.0,7601.95 52 | 2005-12-28,376.0,378.9,369.1,370.25,371.05,2657484.0,9938.81 53 | 2005-12-29,371.5,373.85,368.1,370.05,370.35,3368020.0,12494.59 54 | 2005-12-30,370.25,381.6,370.25,380.0,379.95,3992422.0,15047.8 55 | -------------------------------------------------------------------------------- /Historical data/2005/YESBANK-2005.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2005-07-12,65.9,70.0,60.0,60.55,60.85,48988303.0,30521.32 3 | 2005-07-13,61.0,63.0,57.45,59.3,58.7,12822324.0,7720.07 4 | 2005-07-14,60.0,60.0,57.0,57.0,57.25,3256573.0,1884.97 5 | 2005-07-15,56.25,64.45,56.25,61.8,61.85,15089606.0,9298.83 6 | 2005-07-18,62.7,65.7,62.5,64.25,64.1,15136955.0,9747.41 7 | 2005-07-19,65.0,65.0,63.1,64.15,63.95,5089187.0,3251.12 8 | 2005-07-20,64.1,64.85,63.0,63.7,63.5,1881334.0,1199.8 9 | 2005-07-21,63.9,64.0,62.25,62.5,62.5,2032914.0,1284.24 10 | 2005-07-22,62.8,63.0,61.8,62.0,62.05,1005201.0,628.24 11 | 2005-07-25,63.0,63.0,61.1,61.1,61.4,1080697.0,667.05 12 | 2005-07-26,61.6,64.0,61.0,62.45,62.45,2329540.0,1456.02 13 | 2005-07-27,63.3,64.5,62.35,63.25,63.55,2496204.0,1586.52 14 | 2005-07-29,63.55,64.25,62.0,62.85,62.45,1237293.0,781.48 15 | 2005-08-01,63.05,64.3,62.75,63.55,63.3,3590938.0,2279.78 16 | 2005-08-02,64.0,74.3,64.0,70.8,71.6,30856711.0,21610.41 17 | 2005-08-03,72.5,72.85,68.15,69.75,69.55,11393327.0,8058.56 18 | 2005-08-04,70.0,73.7,69.6,71.75,71.7,8579606.0,6182.39 19 | 2005-08-05,71.5,72.75,71.0,71.55,71.55,2616074.0,1877.32 20 | 2005-08-08,71.95,72.35,70.45,70.7,70.65,2154325.0,1532.34 21 | 2005-08-09,70.9,71.15,68.55,70.0,69.7,1503631.0,1050.15 22 | 2005-08-10,70.0,73.5,70.0,71.3,71.5,3291467.0,2370.78 23 | 2005-08-11,71.95,72.8,71.2,71.2,71.65,1786252.0,1285.43 24 | 2005-08-12,71.5,71.9,70.5,70.5,70.7,901987.0,641.4 25 | 2005-08-16,70.9,71.45,69.0,69.4,69.45,1088402.0,762.18 26 | 2005-08-17,69.4,70.9,68.75,68.9,69.05,1035964.0,722.13 27 | 2005-08-18,69.7,70.05,68.55,69.0,68.95,964612.0,666.83 28 | 2005-08-19,69.65,69.65,67.4,67.85,67.9,814334.0,556.2 29 | 2005-08-22,68.5,68.6,66.25,66.45,66.7,916142.0,613.19 30 | 2005-08-23,67.45,67.45,63.9,64.75,64.6,1476367.0,958.87 31 | 2005-08-24,64.2,65.9,63.9,64.75,64.65,616478.0,397.39 32 | 2005-08-25,65.0,67.3,64.75,65.6,65.7,496609.0,326.95 33 | 2005-08-26,66.1,68.0,65.7,66.35,66.2,466074.0,308.54 34 | 2005-08-29,67.0,67.0,64.2,65.25,65.25,1245549.0,807.52 35 | 2005-08-30,65.95,67.15,65.7,66.65,66.45,405319.0,269.15 36 | 2005-08-31,67.0,68.65,66.15,67.2,67.05,852663.0,573.7 37 | 2005-09-01,67.95,68.3,66.5,66.7,67.0,382169.0,257.09 38 | 2005-09-02,67.1,73.95,65.7,70.5,70.6,3439506.0,2442.96 39 | 2005-09-05,71.1,71.5,68.0,68.5,68.3,794857.0,553.27 40 | 2005-09-06,68.95,71.4,68.0,68.45,68.85,1159714.0,807.31 41 | 2005-09-08,68.0,69.65,68.0,69.2,69.1,528846.0,364.73 42 | 2005-09-09,69.85,73.35,68.7,72.85,72.7,3011179.0,2164.49 43 | 2005-09-12,73.2,73.8,71.5,71.75,71.7,1453140.0,1052.87 44 | 2005-09-13,72.0,73.0,70.9,71.45,71.5,1206319.0,865.89 45 | 2005-09-14,72.55,73.6,70.15,71.9,71.7,1867148.0,1349.95 46 | 2005-09-15,72.0,72.5,70.8,71.2,71.0,705326.0,502.66 47 | 2005-09-16,70.5,71.85,64.9,70.75,70.7,444499.0,314.95 48 | 2005-09-19,71.45,71.45,69.5,69.6,69.8,771623.0,540.25 49 | 2005-09-20,70.4,70.4,68.1,68.6,68.85,1084933.0,745.14 50 | 2005-09-21,69.0,69.45,63.55,65.35,65.35,3364553.0,2180.44 51 | 2005-09-22,65.8,65.8,63.6,63.9,63.9,1132406.0,727.37 52 | 2005-09-23,64.3,66.5,61.2,63.2,62.9,1582416.0,995.98 53 | 2005-09-26,63.9,66.7,63.9,65.3,65.05,948830.0,622.43 54 | 2005-09-27,65.5,66.9,65.1,66.9,66.45,863544.0,570.48 55 | 2005-09-28,67.5,69.8,67.05,68.55,68.65,1384129.0,951.59 56 | 2005-09-29,69.25,69.25,67.2,68.0,67.65,693380.0,474.15 57 | 2005-09-30,67.6,67.95,65.25,66.3,66.35,824413.0,547.36 58 | 2005-10-03,66.85,67.9,66.15,66.5,66.55,422033.0,282.17 59 | 2005-10-04,67.25,67.7,66.75,67.05,67.1,670644.0,449.27 60 | 2005-10-05,67.7,69.5,66.6,68.0,67.75,946457.0,644.29 61 | 2005-10-06,68.45,71.2,66.25,68.35,68.4,2606298.0,1809.34 62 | 2005-10-07,69.4,70.5,68.3,69.8,69.2,1765337.0,1226.25 63 | 2005-10-10,70.0,72.15,67.55,67.75,68.2,4766292.0,3352.54 64 | 2005-10-11,69.0,69.0,66.9,67.15,67.2,1067807.0,720.35 65 | 2005-10-13,67.3,67.85,65.4,65.6,65.65,1566298.0,1042.6 66 | 2005-10-14,66.25,66.25,64.25,64.6,64.7,1277885.0,828.98 67 | 2005-10-17,65.5,65.5,62.75,63.05,63.0,1115967.0,711.03 68 | 2005-10-18,63.6,66.15,63.05,65.7,65.7,977158.0,638.13 69 | 2005-10-19,64.45,65.9,63.2,65.25,64.7,964550.0,624.97 70 | 2005-10-20,65.6,66.0,64.0,64.5,64.65,815875.0,530.26 71 | 2005-10-21,65.0,65.0,62.15,63.8,63.55,688251.0,434.98 72 | 2005-10-24,64.0,66.0,64.0,64.0,64.55,355469.0,230.73 73 | 2005-10-25,65.15,65.8,64.0,65.0,65.05,326906.0,211.93 74 | 2005-10-26,65.75,65.75,64.5,65.05,65.4,252912.0,164.8 75 | 2005-10-27,65.0,65.35,64.5,65.3,65.1,241879.0,157.28 76 | 2005-10-28,64.95,65.45,63.05,63.65,63.45,536839.0,341.04 77 | 2005-10-31,63.95,65.3,63.5,65.2,64.95,162927.0,104.86 78 | 2005-11-01,66.1,67.0,65.0,65.7,65.9,87369.0,57.58 79 | 2005-11-02,66.2,66.2,64.5,66.0,65.85,206123.0,135.33 80 | 2005-11-07,66.0,66.0,65.0,65.05,65.4,197479.0,129.42 81 | 2005-11-08,65.8,66.65,64.85,65.3,65.3,229509.0,150.62 82 | 2005-11-09,66.0,66.2,64.8,65.15,65.0,243364.0,158.83 83 | 2005-11-10,65.2,65.7,65.0,65.0,65.2,114406.0,74.6 84 | 2005-11-11,65.8,66.95,65.3,66.35,66.5,324386.0,215.11 85 | 2005-11-14,67.0,67.75,65.25,65.25,65.85,157509.0,104.5 86 | 2005-11-16,66.1,67.05,65.5,65.75,66.05,168455.0,111.74 87 | 2005-11-17,66.65,67.5,66.0,66.05,66.2,199381.0,132.38 88 | 2005-11-18,66.0,67.1,66.0,66.1,66.2,183448.0,122.1 89 | 2005-11-21,67.0,69.2,65.0,67.5,67.6,597370.0,404.9 90 | 2005-11-22,68.5,68.5,67.1,67.5,67.55,249899.0,169.16 91 | 2005-11-23,67.7,68.3,67.65,68.05,68.0,281368.0,191.27 92 | 2005-11-24,68.7,68.7,67.65,68.0,68.0,341171.0,231.98 93 | 2005-11-25,68.3,69.8,67.8,68.25,68.05,523542.0,357.58 94 | 2005-11-26,68.7,69.3,68.3,68.5,68.5,288081.0,198.13 95 | 2005-11-28,68.6,68.95,67.5,68.0,68.0,333813.0,227.57 96 | 2005-11-29,67.7,68.6,66.5,67.9,67.95,192883.0,130.26 97 | 2005-11-30,67.6,68.8,67.0,67.3,67.2,332560.0,225.9 98 | 2005-12-01,66.5,68.7,66.5,68.0,68.35,218075.0,147.97 99 | 2005-12-02,68.25,71.1,68.1,69.25,69.3,1439648.0,1008.48 100 | 2005-12-05,69.6,70.8,69.0,70.1,70.05,492852.0,345.17 101 | 2005-12-06,70.1,70.35,70.0,70.15,70.1,291538.0,204.35 102 | 2005-12-07,70.2,70.75,70.0,70.2,70.25,195090.0,137.04 103 | 2005-12-08,70.8,71.4,70.25,70.75,70.9,273673.0,193.95 104 | 2005-12-09,71.45,71.7,70.85,71.0,71.0,273836.0,195.13 105 | 2005-12-12,71.1,71.6,69.1,70.0,69.8,262724.0,184.17 106 | 2005-12-13,69.9,70.75,69.15,70.0,70.1,311283.0,218.64 107 | 2005-12-14,77.15,77.15,69.85,69.9,70.35,557407.0,392.83 108 | 2005-12-15,71.0,71.9,70.25,70.3,70.3,278540.0,196.25 109 | 2005-12-16,68.0,70.45,66.0,69.85,69.8,1001763.0,690.98 110 | 2005-12-19,69.0,71.0,68.5,68.55,68.9,342346.0,236.76 111 | 2005-12-20,68.9,69.8,68.1,69.45,69.05,183739.0,126.61 112 | 2005-12-21,69.4,70.0,68.85,69.3,69.3,301973.0,209.24 113 | 2005-12-22,68.0,69.3,67.5,68.0,67.85,149276.0,102.03 114 | 2005-12-23,68.2,68.75,68.05,68.5,68.35,137809.0,94.33 115 | 2005-12-26,68.0,68.5,66.35,67.0,67.0,127574.0,85.67 116 | 2005-12-27,67.75,69.7,67.0,69.4,68.8,110129.0,75.22 117 | 2005-12-28,68.5,69.25,68.25,69.0,68.85,94972.0,65.33 118 | 2005-12-29,68.9,70.15,68.1,70.05,69.95,306520.0,213.08 119 | 2005-12-30,69.0,70.5,68.15,68.3,68.4,89464.0,61.69 120 | -------------------------------------------------------------------------------- /Historical data/2006/BHARTIARTL-2006.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2006-06-19,358.0,370.0,355.15,362.65,362.15,352849.0,1274.47 3 | 2006-06-20,355.0,357.9,345.05,350.0,352.2,669171.0,2354.69 4 | 2006-06-21,348.0,370.95,341.0,370.95,368.75,758384.0,2708.03 5 | 2006-06-22,379.1,384.0,360.0,363.0,364.7,1021510.0,3800.14 6 | 2006-06-23,355.0,374.0,347.0,370.0,370.4,1676407.0,6090.23 7 | 2006-06-25,375.0,375.0,363.5,367.95,366.15,63021.0,231.74 8 | 2006-06-26,365.0,372.0,357.05,357.2,360.85,551789.0,2020.23 9 | 2006-06-27,363.0,370.0,350.5,359.7,361.0,1230438.0,4431.5 10 | 2006-06-28,361.0,367.0,351.0,359.0,362.25,1017346.0,3641.1 11 | 2006-06-29,353.5,379.0,353.5,361.5,359.5,2084109.0,7688.75 12 | 2006-06-30,373.3,375.0,366.25,370.15,370.0,856081.0,3167.04 13 | 2006-07-03,370.05,371.9,361.25,369.85,369.9,711185.0,2612.89 14 | 2006-07-04,365.2,373.0,361.0,365.0,364.4,493438.0,1805.96 15 | 2006-07-05,368.0,372.0,360.0,371.5,370.0,731840.0,2678.36 16 | 2006-07-06,367.0,371.5,364.4,367.5,367.05,520374.0,1909.69 17 | 2006-07-07,371.9,378.25,361.0,371.15,371.0,1140389.0,4232.59 18 | 2006-07-10,372.5,391.5,370.0,388.2,389.65,1786853.0,6858.14 19 | 2006-07-11,386.0,389.0,380.0,382.5,382.25,686932.0,2637.16 20 | 2006-07-12,374.0,391.0,374.0,383.75,382.85,602982.0,2299.24 21 | 2006-07-13,383.4,384.0,366.0,374.0,371.3,1100805.0,4095.93 22 | 2006-07-14,363.65,370.0,358.0,361.5,362.0,1086315.0,3943.54 23 | 2006-07-17,362.0,362.0,351.0,360.0,355.45,712533.0,2527.42 24 | 2006-07-18,359.0,364.9,351.0,360.0,360.4,584199.0,2082.62 25 | 2006-07-19,364.95,365.85,345.4,355.5,353.9,591005.0,2105.22 26 | 2006-07-20,359.9,370.0,358.5,365.9,364.45,1125335.0,4115.15 27 | 2006-07-21,364.0,364.0,354.25,357.0,357.85,339763.0,1217.77 28 | 2006-07-24,357.0,369.0,348.1,365.0,365.25,690793.0,2495.68 29 | 2006-07-25,367.0,374.8,365.05,367.25,369.45,693189.0,2559.37 30 | 2006-07-26,372.0,384.0,367.0,380.05,382.6,2176566.0,8190.54 31 | 2006-07-27,384.0,400.0,384.0,395.0,395.65,1890509.0,7415.07 32 | 2006-07-28,395.25,398.0,381.25,384.2,385.65,680134.0,2643.42 33 | 2006-07-31,404.8,404.8,380.0,381.0,383.05,646112.0,2504.77 34 | 2006-08-01,383.0,392.9,377.1,390.5,391.2,606302.0,2339.34 35 | 2006-08-02,392.0,396.8,390.0,391.1,393.05,781676.0,3072.38 36 | 2006-08-03,396.0,405.0,390.05,398.0,399.15,1111889.0,4447.77 37 | 2006-08-04,399.0,408.0,398.5,400.0,400.7,1195775.0,4834.35 38 | 2006-08-07,402.0,403.0,390.0,392.95,392.3,398610.0,1568.68 39 | 2006-08-08,392.5,405.7,386.0,404.95,404.65,966320.0,3891.76 40 | 2006-08-09,408.1,410.5,401.1,403.6,404.0,1135679.0,4625.43 41 | 2006-08-10,395.65,410.0,395.65,408.95,409.05,975158.0,3961.77 42 | 2006-08-11,408.5,415.0,400.1,405.0,405.05,532394.0,2161.07 43 | 2006-08-14,407.0,414.5,403.5,414.5,413.0,670593.0,2750.17 44 | 2006-08-16,417.0,420.0,410.1,412.6,413.7,762469.0,3160.49 45 | 2006-08-17,413.7,417.8,408.05,413.2,414.6,1014970.0,4204.07 46 | 2006-08-18,406.55,414.45,406.55,409.6,409.65,333816.0,1369.86 47 | 2006-08-21,415.5,415.5,400.0,412.85,409.9,632811.0,2585.96 48 | 2006-08-22,411.0,419.9,405.55,408.0,409.4,819453.0,3390.89 49 | 2006-08-23,409.4,414.9,404.2,407.0,406.0,552389.0,2257.61 50 | 2006-08-24,401.0,416.0,400.2,415.15,415.3,1299481.0,5325.79 51 | 2006-08-25,419.9,419.9,414.1,418.6,417.55,500180.0,2085.28 52 | 2006-08-28,417.0,418.0,411.05,418.0,416.7,435417.0,1806.59 53 | 2006-08-29,419.0,419.5,412.15,414.0,415.25,641297.0,2668.76 54 | 2006-08-30,415.0,418.9,408.2,413.2,413.8,457754.0,1888.97 55 | 2006-08-31,414.0,417.9,408.5,412.0,411.05,732827.0,3021.79 56 | 2006-09-01,414.0,414.9,410.0,413.55,413.2,194366.0,802.24 57 | 2006-09-04,414.0,419.85,412.5,418.4,418.6,590625.0,2463.98 58 | 2006-09-05,419.0,420.8,414.85,418.05,417.95,783219.0,3267.56 59 | 2006-09-06,418.5,429.0,415.5,428.45,427.25,1361955.0,5751.82 60 | 2006-09-07,427.0,432.7,422.0,423.0,423.9,736520.0,3147.55 61 | 2006-09-08,427.9,431.9,424.6,430.55,430.45,884834.0,3784.81 62 | 2006-09-11,432.0,433.9,414.35,416.0,421.35,1106426.0,4704.71 63 | 2006-09-12,424.0,427.0,414.0,423.5,423.0,620259.0,2620.58 64 | 2006-09-13,425.0,445.8,425.0,444.05,443.1,1539128.0,6731.39 65 | 2006-09-14,446.0,449.8,437.5,439.0,439.1,1166071.0,5158.69 66 | 2006-09-15,440.0,447.55,431.0,444.7,446.0,947897.0,4213.22 67 | 2006-09-18,442.0,451.0,442.0,444.0,443.9,372150.0,1663.13 68 | 2006-09-19,440.1,448.0,433.5,434.5,439.5,552581.0,2448.78 69 | 2006-09-20,436.55,471.0,431.0,459.9,462.4,1176501.0,5343.55 70 | 2006-09-21,472.45,472.45,460.0,465.8,465.55,1168405.0,5423.24 71 | 2006-09-22,465.7,475.8,461.0,470.5,469.2,1287489.0,6054.67 72 | 2006-09-25,473.0,477.4,466.35,475.15,473.65,1087574.0,5149.15 73 | 2006-09-26,484.0,484.0,466.1,481.0,479.55,936469.0,4440.01 74 | 2006-09-27,485.0,485.7,473.55,477.0,476.25,848301.0,4064.32 75 | 2006-09-28,477.0,480.0,467.0,471.0,472.4,931274.0,4400.99 76 | 2006-09-29,475.9,476.4,467.2,468.65,469.25,395469.0,1866.38 77 | 2006-10-03,485.0,485.0,465.0,467.8,467.45,290726.0,1361.47 78 | 2006-10-04,468.55,469.9,458.0,459.3,461.55,399648.0,1849.54 79 | 2006-10-05,457.2,467.9,448.0,461.0,459.95,546595.0,2527.16 80 | 2006-10-06,465.0,465.0,457.2,460.1,460.35,674849.0,3101.68 81 | 2006-10-09,463.15,468.9,455.0,463.0,464.25,583591.0,2697.16 82 | 2006-10-10,467.0,472.95,466.65,467.0,468.8,403953.0,1896.85 83 | 2006-10-11,472.0,475.95,462.0,475.0,472.8,742642.0,3503.34 84 | 2006-10-12,471.5,477.0,465.1,475.45,475.85,342841.0,1616.65 85 | 2006-10-13,482.0,482.0,474.3,475.2,477.4,631118.0,3022.05 86 | 2006-10-16,474.25,489.0,467.15,487.5,486.1,681749.0,3291.3 87 | 2006-10-17,482.15,488.65,395.0,487.0,487.45,503257.0,2438.12 88 | 2006-10-18,490.0,495.0,481.9,492.15,493.25,685639.0,3360.06 89 | 2006-10-19,494.0,494.9,485.25,489.95,490.8,606409.0,2976.35 90 | 2006-10-20,490.0,500.9,490.0,499.75,497.15,826976.0,4121.13 91 | 2006-10-21,499.9,505.0,476.0,497.15,499.0,119841.0,598.88 92 | 2006-10-23,499.9,504.0,496.0,497.2,498.15,349443.0,1743.99 93 | 2006-10-26,494.8,509.0,494.05,506.0,503.25,672487.0,3368.16 94 | 2006-10-27,512.0,531.95,508.0,531.15,527.3,1545084.0,8065.47 95 | 2006-10-30,534.0,545.0,527.65,542.05,542.05,1618955.0,8739.13 96 | 2006-10-31,542.1,545.5,527.0,529.9,530.2,1103256.0,5879.08 97 | 2006-11-01,534.45,544.8,525.0,543.65,541.1,851787.0,4580.03 98 | 2006-11-02,539.0,554.0,539.0,548.05,548.2,788178.0,4321.47 99 | 2006-11-03,551.0,551.0,540.1,546.9,547.5,362495.0,1980.28 100 | 2006-11-06,541.55,549.5,541.5,543.85,543.7,621685.0,3376.25 101 | 2006-11-07,547.0,552.0,538.0,542.9,543.8,533420.0,2920.16 102 | 2006-11-08,541.0,546.9,535.1,542.3,543.65,409849.0,2213.55 103 | 2006-11-09,548.85,570.9,536.6,537.0,537.85,798720.0,4318.23 104 | 2006-11-10,540.0,546.95,535.0,545.55,544.0,395255.0,2142.82 105 | 2006-11-13,546.0,569.9,541.95,569.7,564.0,1152413.0,6398.4 106 | 2006-11-14,565.1,576.45,565.1,568.15,569.75,930293.0,5306.62 107 | 2006-11-15,573.9,582.85,565.0,579.6,578.65,755242.0,4359.32 108 | 2006-11-16,580.0,584.0,571.55,577.4,577.45,764936.0,4413.85 109 | 2006-11-17,581.0,586.4,575.05,580.25,580.85,751060.0,4367.31 110 | 2006-11-20,580.0,617.9,573.1,616.0,605.0,1672304.0,9905.07 111 | 2006-11-21,614.0,625.75,608.0,623.0,623.85,1394458.0,8609.69 112 | 2006-11-22,630.0,643.9,620.0,637.5,638.2,2429513.0,15461.23 113 | 2006-11-23,642.0,647.0,618.45,621.0,622.05,1322036.0,8287.75 114 | 2006-11-24,622.0,628.0,612.0,614.3,616.65,996367.0,6174.36 115 | 2006-11-27,680.0,680.0,618.25,629.0,630.5,1406735.0,8856.92 116 | 2006-11-28,630.0,638.0,620.0,625.95,628.0,947472.0,5977.07 117 | 2006-11-29,628.0,631.8,619.3,621.0,621.35,712428.0,4444.98 118 | 2006-11-30,628.0,635.0,612.5,633.0,630.7,2177892.0,13655.43 119 | 2006-12-01,636.0,645.0,631.1,632.1,633.3,647086.0,4112.08 120 | 2006-12-04,635.0,638.9,628.6,630.0,631.25,394535.0,2500.67 121 | 2006-12-05,633.0,643.0,625.8,639.3,639.3,1324858.0,8398.84 122 | 2006-12-06,644.0,651.9,630.5,646.1,647.35,1247912.0,7991.58 123 | 2006-12-07,653.0,653.9,633.0,636.0,637.9,1340925.0,8603.4 124 | 2006-12-08,641.0,643.9,630.5,632.05,634.4,550827.0,3513.27 125 | 2006-12-11,634.4,634.4,565.1,601.0,606.85,1483246.0,9004.74 126 | 2006-12-12,595.1,613.0,561.65,571.0,575.95,1834985.0,10897.08 127 | 2006-12-13,608.85,608.85,556.35,598.0,598.0,1553513.0,9084.97 128 | 2006-12-14,607.9,617.0,601.0,611.5,610.4,1147720.0,6999.4 129 | 2006-12-15,619.0,622.75,609.0,616.0,615.95,1565028.0,9640.75 130 | 2006-12-18,619.05,622.0,597.0,622.0,619.25,782061.0,4764.94 131 | 2006-12-19,619.25,620.0,595.0,600.05,605.5,1201095.0,7276.87 132 | 2006-12-20,606.0,617.9,596.0,599.9,604.7,891321.0,5434.75 133 | 2006-12-21,605.0,616.0,588.0,610.05,611.75,1343935.0,8124.97 134 | 2006-12-22,613.0,620.0,605.05,620.0,614.9,521158.0,3192.91 135 | 2006-12-26,615.55,628.5,610.0,622.0,624.35,711298.0,4425.06 136 | 2006-12-27,625.0,646.0,624.95,630.8,631.3,648628.0,4097.56 137 | 2006-12-28,639.9,643.3,626.15,627.95,630.7,1273332.0,8077.21 138 | 2006-12-29,638.85,638.85,628.0,629.15,629.95,377337.0,2382.53 139 | -------------------------------------------------------------------------------- /Historical data/2006/TECHM-2006.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2006-08-28,521.0,569.0,502.0,553.0,554.25,15166163.0,83717.6 3 | 2006-08-29,555.0,563.9,535.55,536.1,539.3,3929113.0,21515.3 4 | 2006-08-30,537.0,542.9,521.5,529.0,528.1,2034983.0,10776.3 5 | 2006-08-31,525.0,544.0,515.0,539.35,538.45,1670990.0,8904.46 6 | 2006-09-01,539.0,549.0,535.1,541.35,541.85,1176195.0,6380.39 7 | 2006-09-04,542.0,549.0,452.8,542.0,543.95,749788.0,4077.37 8 | 2006-09-05,544.0,556.0,538.5,551.5,552.7,956133.0,5248.38 9 | 2006-09-06,554.7,562.5,538.0,540.0,541.25,957611.0,5280.11 10 | 2006-09-07,545.0,545.0,530.0,536.25,537.3,351161.0,1885.0 11 | 2006-09-08,538.8,544.9,531.55,531.6,534.8,269659.0,1453.16 12 | 2006-09-11,539.95,545.0,532.25,533.1,535.95,420466.0,2262.65 13 | 2006-09-12,535.95,546.85,534.0,537.85,537.85,514196.0,2774.15 14 | 2006-09-13,541.0,549.0,541.0,545.1,544.7,401947.0,2195.21 15 | 2006-09-14,545.2,557.5,545.1,549.0,549.85,534610.0,2957.78 16 | 2006-09-15,550.15,554.0,539.0,541.0,540.2,209783.0,1142.44 17 | 2006-09-18,544.0,562.0,544.0,545.25,546.5,224376.0,1235.27 18 | 2006-09-19,548.05,623.85,546.5,581.0,584.25,4793064.0,28505.85 19 | 2006-09-20,579.8,613.9,573.25,605.95,605.05,2264328.0,13615.09 20 | 2006-09-21,577.0,627.0,577.0,609.9,608.95,1776100.0,10949.22 21 | 2006-09-22,625.0,625.0,593.25,604.45,601.15,726501.0,4381.66 22 | 2006-09-25,595.25,611.7,590.05,594.5,593.55,635537.0,3830.34 23 | 2006-09-26,599.8,626.0,594.0,614.55,617.6,1735875.0,10703.28 24 | 2006-09-27,619.5,631.8,616.3,619.9,619.45,1015312.0,6340.46 25 | 2006-09-28,624.7,624.7,608.15,614.25,613.0,302605.0,1858.56 26 | 2006-09-29,615.0,630.0,610.0,619.0,618.4,595376.0,3704.44 27 | 2006-10-03,619.0,635.85,615.0,616.1,619.4,800656.0,5011.65 28 | 2006-10-04,621.6,624.0,610.0,613.3,613.7,300674.0,1856.0 29 | 2006-10-05,621.2,628.0,619.0,625.6,624.15,214316.0,1334.43 30 | 2006-10-06,629.0,639.95,618.15,621.0,621.3,618442.0,3907.12 31 | 2006-10-09,618.0,624.9,610.0,614.4,614.05,240328.0,1485.02 32 | 2006-10-10,620.0,624.8,610.35,616.25,615.85,210138.0,1300.12 33 | 2006-10-11,620.0,653.8,620.0,630.65,629.95,1942573.0,12449.62 34 | 2006-10-12,634.5,637.1,621.0,629.2,629.7,721172.0,4547.42 35 | 2006-10-13,635.1,692.9,635.1,687.9,681.95,2521133.0,16859.49 36 | 2006-10-16,688.25,718.0,688.25,713.0,710.45,1859460.0,13089.63 37 | 2006-10-17,714.0,717.0,700.25,706.0,704.5,826731.0,5845.04 38 | 2006-10-18,710.0,715.0,680.0,682.15,684.05,754796.0,5292.17 39 | 2006-10-19,700.0,792.0,700.0,772.45,772.7,4708913.0,36228.03 40 | 2006-10-20,779.0,900.0,776.0,895.0,863.35,5252845.0,43856.28 41 | 2006-10-21,900.0,976.0,900.0,951.25,956.4,2442711.0,23356.54 42 | 2006-10-23,956.0,988.95,881.0,894.1,898.15,4171924.0,37819.31 43 | 2006-10-26,900.0,926.0,892.35,921.1,918.65,2675072.0,24420.82 44 | 2006-10-27,921.3,1014.0,921.3,1010.0,1000.95,4454173.0,43447.11 45 | 2006-10-30,1010.0,1047.8,985.0,1004.0,1006.55,3142529.0,32144.95 46 | 2006-10-31,1008.0,1025.0,956.6,999.0,989.7,2238040.0,22192.38 47 | 2006-11-01,1001.0,1024.0,982.6,1008.15,1009.25,1953788.0,19696.7 48 | 2006-11-02,1008.0,1018.65,995.15,995.15,1002.5,1094928.0,11030.6 49 | 2006-11-03,1004.0,1005.0,985.0,990.35,992.0,712543.0,7083.85 50 | 2006-11-06,1000.0,1021.0,983.0,995.0,998.3,870738.0,8760.58 51 | 2006-11-07,1013.7,1014.4,987.25,989.35,990.95,508981.0,5097.28 52 | 2006-11-08,998.6,1005.0,969.0,995.0,990.7,823820.0,8145.38 53 | 2006-11-09,1002.0,1002.8,982.0,984.95,987.6,472117.0,4677.56 54 | 2006-11-10,994.4,1031.0,975.0,996.0,999.35,1328121.0,13388.78 55 | 2006-11-13,1000.0,1016.85,994.5,1003.0,1005.75,634151.0,6384.14 56 | 2006-11-14,1010.0,1015.0,991.15,993.0,996.15,591832.0,5933.95 57 | 2006-11-15,1000.0,1089.8,997.5,1066.0,1073.6,2710703.0,28335.76 58 | 2006-11-16,1075.05,1166.6,1062.2,1152.0,1152.95,4209108.0,47484.23 59 | 2006-11-17,1160.0,1177.7,1098.0,1110.0,1115.1,2057344.0,23357.97 60 | 2006-11-20,1100.0,1148.8,1060.4,1145.0,1139.1,1813833.0,20056.3 61 | 2006-11-21,1130.65,1209.7,1130.65,1181.0,1182.35,1827651.0,21656.38 62 | 2006-11-22,1187.0,1199.75,1168.5,1171.05,1174.5,853962.0,10111.37 63 | 2006-11-23,1185.0,1185.0,1140.2,1145.3,1149.7,624661.0,7259.67 64 | 2006-11-24,1101.05,1182.2,1101.05,1143.5,1140.9,811845.0,9401.56 65 | 2006-11-27,1143.6,1149.95,1116.7,1131.05,1127.05,407183.0,4608.78 66 | 2006-11-28,1119.95,1152.0,1075.3,1117.0,1116.3,779057.0,8789.49 67 | 2006-11-29,1125.0,1149.0,1117.2,1119.95,1124.9,413684.0,4695.68 68 | 2006-11-30,1130.7,1137.0,1112.1,1126.0,1122.5,243525.0,2739.45 69 | 2006-12-01,1130.0,1146.5,1113.1,1122.0,1120.25,297972.0,3370.75 70 | 2006-12-04,1125.0,1137.7,1110.2,1111.25,1112.75,291061.0,3263.86 71 | 2006-12-05,1113.5,1176.7,1105.0,1165.55,1166.5,1088879.0,12538.66 72 | 2006-12-06,1175.0,1192.0,1126.3,1130.15,1136.25,1006277.0,11627.63 73 | 2006-12-07,1135.0,1170.5,1125.25,1137.0,1139.95,930888.0,10696.77 74 | 2006-12-08,1150.0,1150.0,1122.2,1124.5,1125.7,374383.0,4242.25 75 | 2006-12-11,1138.7,1146.0,1074.1,1094.0,1096.0,642819.0,7147.83 76 | 2006-12-12,1100.0,1122.0,1014.0,1050.0,1041.75,777591.0,8399.92 77 | 2006-12-13,1046.0,1093.8,1010.1,1092.0,1080.7,495712.0,5227.01 78 | 2006-12-14,1091.0,1133.7,1083.0,1112.0,1109.4,544625.0,6055.28 79 | 2006-12-15,1116.0,1141.7,1040.0,1138.0,1130.7,408960.0,4620.92 80 | 2006-12-18,1142.4,1204.0,1120.3,1195.0,1194.55,1304823.0,15255.28 81 | 2006-12-19,1200.0,1220.0,1142.6,1151.0,1154.3,1682253.0,20014.21 82 | 2006-12-20,1170.0,1285.0,1151.05,1238.8,1243.0,2989087.0,36792.83 83 | 2006-12-21,1250.0,1491.6,1250.0,1491.6,1491.6,3786564.0,53578.69 84 | 2006-12-22,1510.0,1748.7,1510.0,1646.05,1655.5,5223871.0,87707.67 85 | 2006-12-26,1649.95,1720.0,1649.95,1678.0,1668.6,1713876.0,28816.48 86 | 2006-12-27,1690.0,1696.0,1641.3,1644.0,1648.2,893868.0,14839.0 87 | 2006-12-28,1657.75,1722.0,1600.0,1691.0,1694.75,2991857.0,50334.99 88 | 2006-12-29,1695.0,1733.0,1651.0,1668.0,1672.55,1352761.0,22955.32 89 | -------------------------------------------------------------------------------- /Historical data/2007/AXISBANK-2007.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2007-08-16,588.0,594.9,551.0,558.0,557.85,860905.0,4860.75 3 | 2007-08-17,546.05,581.0,534.0,577.0,575.15,1338154.0,7494.97 4 | 2007-08-20,585.0,609.0,577.0,603.5,604.65,878025.0,5210.58 5 | 2007-08-21,613.9,613.9,587.0,587.0,590.9,441898.0,2647.03 6 | 2007-08-22,592.0,599.7,561.15,584.0,582.55,551499.0,3189.04 7 | 2007-08-23,602.0,614.0,565.75,579.9,582.5,629828.0,3679.99 8 | 2007-08-24,577.0,597.0,565.1,572.2,570.95,745735.0,4266.24 9 | 2007-08-27,586.0,586.0,575.15,579.05,577.45,578904.0,3351.82 10 | 2007-08-28,583.8,607.5,577.2,597.1,599.9,1378607.0,8231.71 11 | 2007-08-29,594.0,624.0,582.0,618.05,612.5,2583362.0,15836.8 12 | 2007-08-30,620.0,634.7,612.0,627.0,629.65,4213178.0,26008.97 13 | 2007-08-31,633.0,643.0,631.3,635.0,635.0,699623.0,4464.99 14 | 2007-09-03,635.0,640.9,625.0,635.15,637.35,777049.0,4931.37 15 | 2007-09-04,640.0,671.0,639.9,652.95,658.85,1101122.0,7236.42 16 | 2007-09-05,659.9,675.4,659.9,663.95,666.65,765902.0,5129.56 17 | 2007-09-06,652.3,669.7,652.3,659.9,659.75,578519.0,3823.9 18 | 2007-09-07,661.25,664.9,650.0,650.55,651.2,324459.0,2132.42 19 | 2007-09-10,621.0,657.0,612.65,647.4,649.6,351471.0,2281.01 20 | 2007-09-11,654.7,658.9,645.0,648.0,646.95,222745.0,1446.69 21 | 2007-09-12,658.4,658.4,645.1,648.9,646.6,349171.0,2265.64 22 | 2007-09-13,648.0,666.6,648.0,656.55,659.5,505701.0,3336.24 23 | 2007-09-14,660.0,672.0,642.2,649.5,650.0,698468.0,4620.69 24 | 2007-09-17,646.0,661.5,641.0,654.65,658.65,459555.0,3000.55 25 | 2007-09-18,656.0,669.4,652.9,660.0,660.3,614081.0,4049.42 26 | 2007-09-19,680.0,697.0,670.0,683.0,684.2,1012879.0,6919.97 27 | 2007-09-20,692.0,712.0,681.5,706.1,706.15,1214695.0,8436.74 28 | 2007-09-21,707.0,714.0,703.0,709.3,709.7,486857.0,3449.52 29 | 2007-09-24,712.0,743.0,710.05,729.25,732.1,542983.0,3956.8 30 | 2007-09-25,730.0,740.7,728.1,735.2,739.55,644897.0,4742.4 31 | 2007-09-26,740.0,760.05,740.0,759.85,755.75,934521.0,7045.76 32 | 2007-09-27,770.0,776.0,759.8,770.0,768.7,982665.0,7551.85 33 | 2007-09-28,771.0,775.0,752.65,764.0,764.6,975475.0,7449.39 34 | 2007-10-01,766.9,772.5,744.0,748.0,751.5,643127.0,4846.17 35 | 2007-10-03,753.0,766.0,729.9,755.9,757.6,1013348.0,7655.85 36 | 2007-10-04,759.7,764.9,725.0,750.25,754.8,771698.0,5735.21 37 | 2007-10-05,753.55,762.0,731.0,731.0,738.9,325965.0,2444.25 38 | 2007-10-08,740.0,747.7,689.0,722.05,715.65,364012.0,2590.35 39 | 2007-10-09,705.0,734.7,699.1,731.5,729.55,375349.0,2692.1 40 | 2007-10-10,739.95,766.0,736.25,761.5,762.2,666478.0,5035.79 41 | 2007-10-11,768.0,770.0,748.0,760.0,759.75,507316.0,3864.94 42 | 2007-10-12,760.0,767.75,740.0,743.0,744.05,232221.0,1743.96 43 | 2007-10-15,753.0,831.0,752.0,815.0,820.0,1316528.0,10492.45 44 | 2007-10-16,834.7,903.0,823.1,889.0,886.7,1528678.0,13200.52 45 | 2007-10-17,801.0,880.0,709.4,875.1,872.15,1408050.0,11778.89 46 | 2007-10-18,898.7,898.7,845.0,860.0,857.1,1122762.0,9819.84 47 | 2007-10-19,869.0,869.0,815.0,835.0,829.85,717417.0,5960.9 48 | 2007-10-22,812.0,849.4,790.0,835.0,819.0,683447.0,5541.31 49 | 2007-10-23,821.1,898.0,821.1,866.2,868.85,723976.0,6285.2 50 | 2007-10-24,869.8,893.9,848.5,865.0,866.4,558274.0,4849.23 51 | 2007-10-25,860.0,884.95,840.05,870.0,873.85,614841.0,5285.51 52 | 2007-10-26,872.0,945.0,853.0,925.0,926.1,576833.0,5201.08 53 | 2007-10-29,928.0,956.9,910.05,915.0,929.05,655318.0,6159.08 54 | 2007-10-30,932.0,944.7,900.0,903.3,908.35,705040.0,6518.91 55 | 2007-10-31,908.1,925.0,904.05,923.0,917.35,261176.0,2388.78 56 | 2007-11-01,925.0,944.0,888.0,913.0,917.85,489757.0,4494.67 57 | 2007-11-02,901.0,940.0,880.2,938.0,932.15,232995.0,2143.77 58 | 2007-11-05,934.0,1010.0,911.15,984.9,973.0,1124891.0,10989.63 59 | 2007-11-06,985.0,1003.5,926.3,952.6,946.4,541088.0,5276.15 60 | 2007-11-07,958.5,998.0,921.0,934.85,932.45,464193.0,4408.03 61 | 2007-11-08,944.0,944.0,890.65,920.0,921.05,435268.0,3974.96 62 | 2007-11-09,929.7,945.0,903.1,917.0,914.2,29478.0,271.39 63 | 2007-11-12,910.0,915.25,870.35,878.5,887.4,717311.0,6392.36 64 | 2007-11-13,890.6,960.0,881.25,955.25,945.5,529265.0,4926.56 65 | 2007-11-14,965.5,998.95,961.25,986.05,990.65,607929.0,5972.16 66 | 2007-11-15,990.5,999.8,956.15,957.1,963.5,281834.0,2751.39 67 | 2007-11-16,945.5,985.9,943.0,979.9,978.3,157730.0,1541.21 68 | 2007-11-19,990.5,999.9,970.15,972.95,980.95,536649.0,5265.45 69 | 2007-11-20,979.7,1025.0,970.0,1003.5,996.4,863971.0,8668.4 70 | 2007-11-21,1006.0,1006.8,932.05,943.0,943.2,341243.0,3279.07 71 | 2007-11-22,940.0,945.0,900.0,933.0,918.9,424122.0,3896.84 72 | 2007-11-23,930.2,950.0,915.0,933.0,926.6,510599.0,4752.83 73 | 2007-11-26,940.0,956.0,925.0,938.9,938.6,1967743.0,18279.49 74 | 2007-11-27,942.0,953.0,921.05,933.0,932.1,439210.0,4123.15 75 | 2007-11-28,943.0,950.0,900.0,904.9,905.7,390065.0,3594.51 76 | 2007-11-29,924.9,936.9,908.0,934.4,918.85,669531.0,6156.83 77 | 2007-11-30,917.05,954.7,911.1,934.0,930.65,708034.0,6626.18 78 | 2007-12-03,936.15,949.9,930.0,943.0,942.35,362046.0,3418.49 79 | 2007-12-04,947.0,950.5,940.0,940.0,944.3,520994.0,4936.56 80 | 2007-12-05,943.0,949.8,935.0,940.0,940.1,410243.0,3857.62 81 | 2007-12-06,945.1,951.0,916.65,925.0,923.2,501034.0,4668.53 82 | 2007-12-07,931.2,940.0,922.0,937.3,938.55,295607.0,2763.79 83 | 2007-12-10,940.0,942.5,931.0,937.5,939.65,193147.0,1813.86 84 | 2007-12-11,950.0,950.0,936.0,937.5,941.0,451633.0,4265.91 85 | 2007-12-12,935.0,955.0,902.25,936.2,942.05,1026354.0,9656.66 86 | 2007-12-13,945.0,980.0,945.0,968.6,972.2,922034.0,8916.47 87 | 2007-12-14,975.1,998.95,972.15,995.25,994.65,1740002.0,17116.44 88 | 2007-12-17,995.25,1013.3,962.2,995.0,984.45,595392.0,5929.05 89 | 2007-12-18,994.7,1000.0,932.3,953.15,952.0,780477.0,7490.63 90 | 2007-12-19,965.0,978.0,927.0,942.0,939.0,435856.0,4137.14 91 | 2007-12-20,941.1,963.0,925.2,931.0,933.85,317888.0,2982.08 92 | 2007-12-24,950.0,957.0,936.5,948.05,953.25,469184.0,4421.18 93 | 2007-12-26,960.0,975.0,944.0,970.0,970.95,357797.0,3445.56 94 | 2007-12-27,974.0,984.0,951.0,955.0,956.4,509643.0,4935.3 95 | 2007-12-28,960.0,986.0,953.0,972.0,975.55,354947.0,3456.87 96 | 2007-12-31,986.0,988.0,966.0,968.0,970.45,180153.0,1755.18 97 | -------------------------------------------------------------------------------- /Historical data/2007/HINDALCO-2007.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2007-08-27,144.0,149.4,143.55,149.4,148.6,3153223.0,4643.55 3 | 2007-08-28,148.6,154.4,148.05,153.0,153.35,3549254.0,5413.07 4 | 2007-08-29,151.0,157.0,150.0,156.55,156.45,3535895.0,5464.56 5 | 2007-08-30,158.0,160.0,154.25,158.6,159.2,3553929.0,5602.28 6 | 2007-08-31,159.5,159.9,156.55,157.85,157.9,2724570.0,4302.31 7 | 2007-09-03,159.15,161.35,156.6,160.05,160.55,1455235.0,2324.55 8 | 2007-09-04,159.2,160.55,156.6,156.6,157.0,759025.0,1198.64 9 | 2007-09-05,158.0,158.35,153.8,156.0,156.85,2575822.0,4025.35 10 | 2007-09-06,155.0,156.85,153.5,154.9,155.05,2372400.0,3665.79 11 | 2007-09-07,155.0,160.8,155.0,156.65,156.8,1914419.0,3030.7 12 | 2007-09-10,155.8,156.75,154.0,154.3,154.3,1418833.0,2192.58 13 | 2007-09-11,155.7,158.55,153.6,156.4,157.05,3454595.0,5377.85 14 | 2007-09-12,156.4,158.75,155.0,155.05,155.3,1867607.0,2923.0 15 | 2007-09-13,156.0,156.4,153.2,154.0,153.9,1864308.0,2881.57 16 | 2007-09-14,154.5,157.1,152.3,154.5,154.35,3206113.0,4970.65 17 | 2007-09-17,155.0,155.55,153.75,154.05,154.25,683580.0,1055.01 18 | 2007-09-18,153.1,155.8,153.05,154.4,154.7,1046711.0,1617.0 19 | 2007-09-19,155.4,160.8,155.4,159.1,159.65,2717102.0,4298.61 20 | 2007-09-20,163.45,164.5,159.5,161.75,162.15,2673962.0,4343.06 21 | 2007-09-21,162.0,163.35,159.6,160.1,160.65,2303914.0,3713.09 22 | 2007-09-24,162.0,164.65,158.1,161.6,163.15,2494068.0,4043.15 23 | 2007-09-25,162.0,168.7,161.6,167.9,167.8,5687617.0,9413.59 24 | 2007-09-26,169.0,169.7,164.35,165.5,165.25,2167396.0,3601.3 25 | 2007-09-27,162.4,168.9,162.4,164.0,164.3,5991582.0,9912.96 26 | 2007-09-28,166.0,173.85,164.6,172.15,172.2,4719922.0,8075.25 27 | 2007-10-01,173.0,176.4,170.25,171.8,172.3,4924532.0,8524.77 28 | 2007-10-03,174.0,180.4,172.0,178.5,178.75,7071017.0,12422.62 29 | 2007-10-04,175.0,180.0,174.0,177.0,177.25,2511316.0,4448.89 30 | 2007-10-05,177.3,177.3,166.55,167.0,169.9,2128571.0,3675.47 31 | 2007-10-08,169.5,170.2,161.0,161.45,161.9,2438967.0,4001.24 32 | 2007-10-09,160.0,165.5,159.05,164.7,164.1,2471330.0,4029.98 33 | 2007-10-10,164.0,171.9,162.5,171.85,170.25,3002508.0,5075.21 34 | 2007-10-11,171.0,177.8,169.25,177.1,175.95,3611553.0,6256.41 35 | 2007-10-12,174.95,182.0,172.0,179.85,179.25,4866179.0,8702.16 36 | 2007-10-15,180.0,190.3,179.65,187.2,188.75,5461584.0,10191.07 37 | 2007-10-16,188.9,201.5,183.05,200.6,197.6,4578223.0,8786.44 38 | 2007-10-17,195.0,203.9,172.85,195.4,197.65,4676221.0,9086.49 39 | 2007-10-18,160.0,208.0,160.0,181.75,184.95,4853136.0,9637.16 40 | 2007-10-19,181.0,185.9,173.2,175.3,174.85,4799229.0,8615.4 41 | 2007-10-22,169.9,183.4,165.1,178.25,178.1,2348911.0,4171.14 42 | 2007-10-23,183.0,188.4,180.0,185.0,184.7,3057759.0,5658.79 43 | 2007-10-24,186.05,193.45,185.0,188.7,189.5,3455002.0,6558.27 44 | 2007-10-25,190.0,200.0,189.0,191.5,192.15,10038171.0,19562.02 45 | 2007-10-26,192.0,198.9,191.65,194.25,193.55,5056761.0,9876.3 46 | 2007-10-29,195.9,199.8,192.15,194.4,194.4,1932666.0,3783.41 47 | 2007-10-30,195.9,197.9,191.0,193.8,192.95,2993172.0,5820.18 48 | 2007-10-31,181.6,204.5,181.6,197.5,196.5,5205999.0,10283.78 49 | 2007-11-01,199.0,202.45,183.25,185.8,187.75,3591860.0,7065.79 50 | 2007-11-02,165.0,190.0,165.0,188.4,187.95,1780811.0,3296.12 51 | 2007-11-05,184.25,191.0,182.5,184.5,183.9,3080918.0,5773.93 52 | 2007-11-06,183.1,201.0,183.1,191.7,192.05,4711621.0,9157.99 53 | 2007-11-07,193.6,196.0,187.65,188.55,188.6,4699542.0,9021.83 54 | 2007-11-08,183.0,207.75,183.0,206.5,203.9,6568469.0,12894.54 55 | 2007-11-09,208.65,210.7,198.0,199.0,202.5,1048837.0,2147.09 56 | 2007-11-12,192.5,212.4,190.25,206.45,206.8,12532225.0,25707.85 57 | 2007-11-13,185.0,214.5,185.0,205.5,202.95,12546962.0,25862.75 58 | 2007-11-14,185.0,219.9,185.0,219.45,217.75,10795842.0,22934.74 59 | 2007-11-15,240.0,240.0,213.5,215.0,215.25,7379748.0,16195.41 60 | 2007-11-16,219.95,219.95,201.0,204.25,203.75,7291540.0,15447.9 61 | 2007-11-19,214.0,214.0,201.0,204.35,205.5,3260896.0,6749.97 62 | 2007-11-20,200.0,208.25,189.65,192.75,193.45,6597980.0,13208.74 63 | 2007-11-21,193.0,195.0,182.8,184.35,184.85,3680914.0,6973.24 64 | 2007-11-22,183.0,190.4,180.0,188.0,185.2,4057291.0,7534.99 65 | 2007-11-23,188.0,193.9,185.2,188.05,188.2,3308671.0,6258.7 66 | 2007-11-26,190.0,197.45,190.0,195.05,194.4,2778392.0,5381.29 67 | 2007-11-27,194.9,195.5,190.1,190.35,191.55,1239823.0,2383.97 68 | 2007-11-28,192.0,193.95,182.75,183.65,184.4,2348837.0,4413.59 69 | 2007-11-29,185.55,189.45,178.0,181.1,180.2,7264442.0,13288.82 70 | 2007-11-30,183.0,188.0,181.55,184.5,185.4,2422616.0,4499.82 71 | 2007-12-03,189.0,194.5,186.1,192.5,191.9,2230114.0,4268.82 72 | 2007-12-04,191.0,195.45,189.0,194.25,194.45,2207009.0,4236.59 73 | 2007-12-05,195.1,200.8,192.6,198.7,199.55,2911383.0,5749.0 74 | 2007-12-06,201.55,201.95,191.7,192.65,193.15,2882687.0,5644.5 75 | 2007-12-07,193.15,196.9,185.1,188.5,187.9,4495132.0,8541.08 76 | 2007-12-10,188.0,194.6,187.9,192.1,193.3,1765249.0,3385.43 77 | 2007-12-11,199.8,200.5,193.5,200.3,198.75,2727660.0,5392.82 78 | 2007-12-12,197.0,207.9,195.0,207.0,206.25,6160129.0,12511.28 79 | 2007-12-13,208.0,215.45,206.5,212.45,209.3,9640454.0,20389.62 80 | 2007-12-14,212.0,217.0,208.5,212.65,213.2,4602280.0,9837.35 81 | 2007-12-17,212.65,212.9,197.0,201.25,200.8,3535581.0,7215.63 82 | 2007-12-18,212.0,212.0,193.5,200.0,199.25,3113089.0,6243.9 83 | 2007-12-19,202.0,203.6,191.1,199.05,198.5,3272563.0,6497.3 84 | 2007-12-20,204.5,204.9,198.45,200.0,199.25,2707446.0,5452.75 85 | 2007-12-24,200.0,203.5,199.0,202.65,201.4,2064053.0,4170.36 86 | 2007-12-26,201.1,211.5,201.1,209.1,209.5,3261952.0,6762.59 87 | 2007-12-27,210.1,216.5,209.5,212.5,210.95,5333752.0,11394.39 88 | 2007-12-28,211.0,215.0,208.2,214.0,212.6,1783201.0,3784.23 89 | 2007-12-31,213.6,221.45,213.05,215.95,214.85,2590841.0,5644.01 90 | -------------------------------------------------------------------------------- /Historical data/2007/HINDUNILVR-2007.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2007-07-19,199.0,199.75,194.65,198.5,197.8,2066807.0,4073.72 3 | 2007-07-20,198.0,199.9,192.55,194.2,194.15,2678230.0,5204.27 4 | 2007-07-23,199.5,205.8,198.0,203.8,204.85,6892251.0,13974.06 5 | 2007-07-24,205.9,205.9,197.85,200.25,199.75,1938559.0,3906.08 6 | 2007-07-25,202.8,204.0,198.75,201.5,201.95,2531149.0,5110.28 7 | 2007-07-26,204.0,208.0,198.1,205.5,205.7,3151821.0,6422.44 8 | 2007-07-27,205.0,205.0,194.6,196.1,195.9,5105904.0,10050.32 9 | 2007-07-30,205.0,212.3,202.0,208.5,208.95,6297238.0,13148.23 10 | 2007-07-31,211.9,211.9,204.55,206.35,206.75,2423496.0,5009.8 11 | 2007-08-01,220.0,220.0,199.0,202.0,201.85,3485059.0,7009.79 12 | 2007-08-02,203.8,205.95,200.15,201.7,201.6,1126039.0,2273.5 13 | 2007-08-03,204.0,206.0,202.25,205.75,205.4,1067215.0,2181.05 14 | 2007-08-06,202.0,203.0,198.8,200.25,200.1,1815789.0,3635.7 15 | 2007-08-07,199.85,200.7,198.05,200.0,200.1,2141604.0,4280.79 16 | 2007-08-08,210.0,210.0,200.2,202.8,203.25,1674651.0,3397.04 17 | 2007-08-09,204.7,205.4,200.2,201.2,201.0,1188491.0,2397.01 18 | 2007-08-10,194.0,198.95,192.8,198.0,196.1,2587792.0,5092.58 19 | 2007-08-13,196.6,204.5,196.6,204.0,204.05,1276525.0,2577.95 20 | 2007-08-14,204.7,204.7,200.1,200.75,200.6,731298.0,1471.76 21 | 2007-08-16,195.0,198.2,191.5,196.5,196.35,5135861.0,10059.42 22 | 2007-08-17,194.0,195.75,190.1,192.5,192.5,1912253.0,3689.7 23 | 2007-08-20,196.7,200.5,195.75,197.35,198.3,1597993.0,3155.25 24 | 2007-08-21,199.0,199.0,192.0,194.0,193.25,1303292.0,2540.71 25 | 2007-08-22,193.0,198.2,192.0,197.05,196.15,1159172.0,2273.37 26 | 2007-08-23,196.0,199.8,196.0,198.0,197.9,2008677.0,3978.94 27 | 2007-08-24,198.0,200.75,196.6,199.55,199.4,719903.0,1431.13 28 | 2007-08-27,201.0,202.8,199.6,200.4,200.75,1002366.0,2010.22 29 | 2007-08-28,200.0,203.0,200.0,202.6,202.1,1103658.0,2226.21 30 | 2007-08-29,198.45,203.5,198.0,200.4,201.95,1390972.0,2797.91 31 | 2007-08-30,201.2,205.5,200.3,202.75,203.2,3272581.0,6614.9 32 | 2007-08-31,203.8,210.4,203.7,208.45,208.3,1950710.0,4055.5 33 | 2007-09-03,207.0,210.5,206.65,210.0,209.8,1561295.0,3265.77 34 | 2007-09-04,209.05,211.9,207.15,211.2,211.0,1047596.0,2201.2 35 | 2007-09-05,211.0,214.9,208.65,212.15,212.35,2106856.0,4473.41 36 | 2007-09-06,210.75,218.4,210.0,215.75,216.35,2254083.0,4866.1 37 | 2007-09-07,217.25,218.9,213.35,213.75,213.95,1000657.0,2166.87 38 | 2007-09-10,211.15,215.0,210.45,213.15,213.35,756512.0,1606.97 39 | 2007-09-11,214.5,218.45,212.85,218.0,217.1,930405.0,2006.34 40 | 2007-09-12,217.1,219.9,215.5,217.0,217.55,2445980.0,5310.34 41 | 2007-09-13,217.5,217.5,214.0,215.05,215.0,1313402.0,2829.98 42 | 2007-09-14,216.4,217.05,211.1,212.4,212.05,835576.0,1781.12 43 | 2007-09-17,214.0,216.9,212.0,212.0,215.9,5135397.0,11074.09 44 | 2007-09-18,214.8,215.75,212.4,213.45,214.55,1623725.0,3482.81 45 | 2007-09-19,216.0,218.9,215.6,216.0,217.0,2954126.0,6424.87 46 | 2007-09-20,213.25,219.8,213.0,214.25,214.2,1760987.0,3805.37 47 | 2007-09-21,213.0,221.8,213.0,220.75,219.4,2960931.0,6478.68 48 | 2007-09-24,221.55,224.9,219.4,222.55,223.5,3566699.0,7951.19 49 | 2007-09-25,223.0,228.0,218.6,227.35,227.35,3176671.0,7109.93 50 | 2007-09-26,228.5,229.9,224.05,226.75,225.45,2884558.0,6530.59 51 | 2007-09-27,226.0,228.0,216.2,219.1,218.9,9602414.0,21274.39 52 | 2007-09-28,222.2,222.2,215.6,220.5,220.6,3510232.0,7701.18 53 | 2007-10-01,219.65,226.1,214.0,222.95,224.1,3471105.0,7718.92 54 | 2007-10-03,225.0,225.9,219.35,221.0,220.5,4682668.0,10480.49 55 | 2007-10-04,220.0,225.0,218.25,222.85,223.9,1927530.0,4279.02 56 | 2007-10-05,222.0,224.7,221.05,222.85,221.9,2453751.0,5459.7 57 | 2007-10-08,221.55,223.4,219.55,221.0,220.75,3324405.0,7341.1 58 | 2007-10-09,221.0,226.0,220.5,224.0,224.3,2826248.0,6269.85 59 | 2007-10-10,225.2,226.7,220.5,224.25,224.05,4642478.0,10413.26 60 | 2007-10-11,221.8,226.95,221.8,226.0,225.85,7660994.0,17224.45 61 | 2007-10-12,224.1,225.75,220.05,220.2,221.25,3121938.0,6928.91 62 | 2007-10-15,221.25,221.25,217.75,219.5,219.3,3378000.0,7399.73 63 | 2007-10-16,220.0,221.4,211.0,213.2,212.95,3949233.0,8440.94 64 | 2007-10-17,212.5,214.0,199.0,209.05,209.4,1693130.0,3544.75 65 | 2007-10-18,207.0,214.2,207.0,209.5,210.4,3300558.0,6961.02 66 | 2007-10-19,206.35,210.25,204.8,205.5,205.75,5163054.0,10657.24 67 | 2007-10-22,200.3,208.4,195.0,208.35,207.5,1937373.0,3975.67 68 | 2007-10-23,208.1,216.9,208.1,215.5,215.75,1800024.0,3858.74 69 | 2007-10-24,216.2,218.5,212.5,216.0,215.95,3095428.0,6671.7 70 | 2007-10-25,214.1,225.9,212.0,219.05,220.75,4543630.0,9818.34 71 | 2007-10-26,218.55,220.85,214.7,217.95,217.8,10196527.0,22257.72 72 | 2007-10-29,217.8,222.5,217.5,219.6,219.6,3772895.0,8268.99 73 | 2007-10-30,220.0,221.0,216.1,220.0,219.45,1796186.0,3914.78 74 | 2007-10-31,220.0,220.85,202.05,207.05,207.05,6448781.0,13443.77 75 | 2007-11-01,208.0,209.1,192.7,194.0,193.7,3931331.0,7793.89 76 | 2007-11-02,190.0,196.65,190.0,195.65,195.8,2642332.0,5157.2 77 | 2007-11-05,196.0,197.0,192.25,194.0,193.3,2315334.0,4501.91 78 | 2007-11-06,195.5,196.4,193.3,194.4,195.75,1678958.0,3271.87 79 | 2007-11-07,194.85,194.85,191.05,193.0,192.9,1695363.0,3262.33 80 | 2007-11-08,190.0,196.25,190.0,195.05,195.25,1292668.0,2513.78 81 | 2007-11-09,195.0,197.2,192.65,193.05,193.2,66938.0,129.52 82 | 2007-11-12,193.25,199.85,191.0,198.5,199.0,1298801.0,2566.45 83 | 2007-11-13,195.0,201.5,195.0,201.0,199.95,1291987.0,2569.09 84 | 2007-11-14,200.85,201.8,198.9,201.3,200.95,2058779.0,4119.68 85 | 2007-11-15,200.3,201.0,196.35,198.5,199.1,2619091.0,5206.4 86 | 2007-11-16,199.0,203.0,196.65,201.5,201.35,2750295.0,5491.72 87 | 2007-11-19,212.1,212.1,202.0,205.7,205.05,2368233.0,4852.12 88 | 2007-11-20,207.0,208.25,202.2,206.8,205.45,1843881.0,3782.54 89 | 2007-11-21,204.25,207.5,200.6,202.05,201.95,2404135.0,4863.12 90 | 2007-11-22,200.0,202.9,198.35,202.1,201.9,1721755.0,3467.7 91 | 2007-11-23,202.3,207.5,200.15,206.75,206.8,1141972.0,2341.49 92 | 2007-11-26,207.9,211.45,207.15,210.7,210.3,1983858.0,4165.58 93 | 2007-11-27,210.3,211.6,207.7,210.9,210.45,764490.0,1606.81 94 | 2007-11-28,210.45,212.9,207.6,208.05,209.2,1860215.0,3909.96 95 | 2007-11-29,209.2,213.25,208.1,210.0,210.05,1859307.0,3921.84 96 | 2007-11-30,210.05,212.15,206.0,206.5,206.75,1692610.0,3520.75 97 | 2007-12-03,207.0,208.45,204.55,206.55,206.05,2440773.0,5041.32 98 | 2007-12-04,206.9,207.75,205.35,207.0,206.55,1707081.0,3524.87 99 | 2007-12-05,206.25,207.85,205.35,206.0,206.0,2142666.0,4413.97 100 | 2007-12-06,206.0,208.95,206.0,207.0,207.65,2881367.0,5992.41 101 | 2007-12-07,209.95,212.4,207.1,209.15,208.6,1399834.0,2928.61 102 | 2007-12-10,209.1,209.1,201.6,205.5,205.9,4638523.0,9481.66 103 | 2007-12-11,207.95,211.9,204.0,210.7,210.7,1592361.0,3312.28 104 | 2007-12-12,206.55,211.8,206.55,210.0,210.25,1773167.0,3712.28 105 | 2007-12-13,210.25,215.9,210.0,212.0,212.0,1537240.0,3263.44 106 | 2007-12-14,212.0,220.0,211.0,217.5,218.7,1840154.0,3974.62 107 | 2007-12-17,217.0,220.45,214.5,219.0,218.95,2395807.0,5244.3 108 | 2007-12-18,210.9,222.9,208.95,211.4,212.25,3282388.0,7179.18 109 | 2007-12-19,212.0,217.95,207.55,213.05,212.5,832784.0,1754.13 110 | 2007-12-20,210.5,214.85,210.5,213.0,212.9,744581.0,1584.4 111 | 2007-12-24,213.0,219.0,212.15,217.35,216.45,3025652.0,6511.23 112 | 2007-12-26,215.0,218.8,213.0,215.25,215.3,893900.0,1921.25 113 | 2007-12-27,215.3,220.0,214.6,217.8,216.9,1915269.0,4151.66 114 | 2007-12-28,215.0,217.5,215.0,215.45,216.35,1713386.0,3703.29 115 | 2007-12-31,217.5,217.85,212.1,212.1,213.7,1693557.0,3649.34 116 | -------------------------------------------------------------------------------- /Historical data/2007/POWERGRID-2007.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2007-10-05,89.8,109.5,83.15,100.2,100.6,481058927.0,493056.07 3 | 2007-10-08,104.0,104.0,94.85,95.3,95.45,71252858.0,69916.16 4 | 2007-10-09,95.5,102.85,90.35,102.1,101.95,65658228.0,64717.84 5 | 2007-10-10,104.6,105.0,102.0,102.65,102.9,38211410.0,39608.87 6 | 2007-10-11,120.0,120.0,102.0,114.85,114.4,59805552.0,66252.35 7 | 2007-10-12,112.0,117.9,111.0,114.25,113.65,55918584.0,64617.14 8 | 2007-10-15,116.0,116.7,114.15,115.4,115.15,23520928.0,27216.46 9 | 2007-10-16,115.3,128.9,114.5,128.3,126.9,77970674.0,94988.42 10 | 2007-10-17,114.0,140.0,106.1,135.35,136.8,115242925.0,147349.28 11 | 2007-10-18,139.0,149.45,126.35,128.2,132.0,82472533.0,117548.55 12 | 2007-10-19,129.0,136.9,125.0,131.85,131.55,62024917.0,81938.16 13 | 2007-10-22,128.9,133.85,125.5,129.65,129.8,40642551.0,53178.81 14 | 2007-10-23,133.0,140.3,133.0,139.8,139.05,41959654.0,57741.53 15 | 2007-10-24,142.0,143.5,135.35,136.5,136.9,35468542.0,49557.12 16 | 2007-10-25,132.25,139.8,120.65,137.3,136.6,19418905.0,26695.66 17 | 2007-10-26,139.0,142.95,135.25,140.85,140.7,35083148.0,49173.01 18 | 2007-10-29,143.0,147.0,142.3,143.1,143.55,24557461.0,35442.94 19 | 2007-10-30,145.5,150.7,141.2,147.05,146.75,44955974.0,65785.93 20 | 2007-10-31,147.5,153.1,147.0,149.55,149.8,25118651.0,37955.92 21 | 2007-11-01,153.5,154.65,145.25,145.7,146.45,28480784.0,42839.26 22 | 2007-11-02,141.15,150.0,140.0,149.85,149.1,18000957.0,26496.4 23 | 2007-11-05,149.0,155.5,148.1,152.15,152.15,21843644.0,33448.51 24 | 2007-11-06,154.8,163.9,152.05,155.25,154.15,46057670.0,72897.73 25 | 2007-11-07,157.0,159.2,148.5,152.0,151.9,18896147.0,28953.34 26 | 2007-11-08,148.0,153.35,146.0,149.7,149.3,15744672.0,23653.15 27 | 2007-11-09,155.0,155.0,146.7,147.3,148.7,4863716.0,7291.37 28 | 2007-11-12,144.8,155.6,140.85,155.3,152.9,19773981.0,29130.23 29 | 2007-11-13,155.5,159.7,150.55,157.0,156.55,24654680.0,38765.42 30 | 2007-11-14,159.3,161.5,153.7,154.4,154.5,20665456.0,32250.68 31 | 2007-11-15,157.4,159.85,154.15,156.95,157.1,16448771.0,25847.44 32 | 2007-11-16,156.4,159.55,154.2,156.55,156.0,10628606.0,16685.39 33 | 2007-11-19,159.55,167.5,158.35,161.8,161.65,22903160.0,37338.0 34 | 2007-11-20,161.0,165.5,157.2,159.8,159.15,14817475.0,24105.55 35 | 2007-11-21,160.1,161.05,143.2,148.85,146.75,15083160.0,23023.71 36 | 2007-11-22,145.2,151.1,135.55,144.55,141.7,19179109.0,27118.24 37 | 2007-11-23,151.0,152.0,142.6,151.95,151.1,15561055.0,22921.68 38 | 2007-11-26,156.7,156.7,151.1,152.25,152.3,11339510.0,17431.73 39 | 2007-11-27,154.9,154.9,147.0,148.5,148.55,11572427.0,17290.4 40 | 2007-11-28,151.8,152.5,145.35,146.5,146.35,9244865.0,13836.01 41 | 2007-11-29,150.0,150.8,140.55,142.0,142.4,14361173.0,20716.47 42 | 2007-11-30,145.0,148.8,143.0,148.0,147.9,10371221.0,15151.46 43 | 2007-12-03,149.7,151.85,148.55,149.75,150.0,9478818.0,14245.34 44 | 2007-12-04,151.0,152.25,146.95,148.55,148.05,7879911.0,11819.16 45 | 2007-12-05,148.3,154.5,148.0,154.3,153.95,15595480.0,23656.09 46 | 2007-12-06,157.3,159.65,149.15,151.6,151.1,13558903.0,20916.83 47 | 2007-12-07,152.05,154.2,147.75,150.1,150.45,6605094.0,9945.22 48 | 2007-12-10,151.9,152.45,148.65,150.55,150.6,4685632.0,7052.85 49 | 2007-12-11,151.95,152.8,149.15,150.0,149.9,6573349.0,9928.92 50 | 2007-12-12,148.0,151.15,147.0,149.9,149.8,9192451.0,13749.78 51 | 2007-12-13,150.85,152.0,146.7,147.05,147.3,8230435.0,12325.47 52 | 2007-12-14,146.8,148.15,145.1,145.5,145.85,6182918.0,9047.66 53 | 2007-12-17,146.7,147.5,135.0,138.5,137.05,10887572.0,15305.86 54 | 2007-12-18,135.5,141.0,132.2,137.25,136.45,12154381.0,16573.48 55 | 2007-12-19,140.85,142.05,132.8,135.0,133.95,10983891.0,15084.78 56 | 2007-12-20,135.7,136.8,132.0,133.2,132.6,9621680.0,12927.17 57 | 2007-12-24,134.6,138.8,133.5,136.65,136.65,9400232.0,12798.71 58 | 2007-12-26,137.4,142.5,137.4,141.8,140.8,11773181.0,16573.76 59 | 2007-12-27,143.7,145.7,140.6,142.5,141.8,25067975.0,35876.09 60 | 2007-12-28,141.5,143.5,140.0,142.9,142.9,10324419.0,14708.68 61 | 2007-12-31,144.0,144.8,142.2,143.75,143.95,6740050.0,9674.63 62 | -------------------------------------------------------------------------------- /Historical data/2008/BAJAJFINSV-2008.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2008-05-26,600.0,619.0,501.0,505.1,509.1,3145446.0,17263.68 3 | 2008-05-27,505.0,610.95,491.1,564.0,554.65,4349144.0,24883.7 4 | 2008-05-28,564.0,665.6,564.0,643.0,640.95,4588759.0,28375.3 5 | 2008-05-29,656.65,703.0,608.0,634.5,632.4,4522302.0,29829.21 6 | 2008-05-30,642.4,668.0,588.3,647.0,644.0,3057669.0,19459.29 7 | 2008-06-02,650.0,699.0,622.0,687.0,686.95,2247399.0,15069.13 8 | 2008-06-03,672.0,689.8,632.55,670.55,672.05,2299383.0,15310.82 9 | 2008-06-04,674.0,674.0,566.6,595.0,598.95,2832725.0,17063.17 10 | 2008-06-05,603.0,639.8,572.3,631.5,631.85,1344712.0,8211.52 11 | 2008-06-06,639.25,642.9,608.05,635.0,630.9,794722.0,4994.33 12 | 2008-06-09,620.0,648.0,580.0,645.0,629.9,758393.0,4739.58 13 | 2008-06-10,618.0,675.0,618.0,672.0,669.25,939180.0,6138.97 14 | 2008-06-11,672.0,682.0,641.1,641.1,653.5,750714.0,4975.03 15 | 2008-06-12,629.0,638.45,601.0,602.0,605.9,414320.0,2544.85 16 | 2008-06-13,607.0,624.5,572.75,577.0,580.8,458514.0,2755.66 17 | 2008-06-16,595.0,618.0,587.25,613.1,614.05,496439.0,3009.28 18 | 2008-06-17,610.0,626.0,605.1,610.0,611.05,248850.0,1528.14 19 | 2008-06-18,615.0,617.2,585.1,595.0,591.95,142386.0,861.86 20 | 2008-06-19,580.0,625.0,578.05,613.0,611.85,468038.0,2875.54 21 | 2008-06-20,603.0,618.25,532.0,569.0,554.95,289352.0,1659.42 22 | 2008-06-23,551.0,575.9,550.0,566.55,565.4,514992.0,2893.38 23 | 2008-06-24,565.5,572.0,537.0,547.1,549.15,294467.0,1624.66 24 | 2008-06-25,542.0,632.5,540.0,580.0,577.1,124264.0,701.53 25 | 2008-06-26,578.0,600.0,578.0,588.0,590.25,134458.0,794.5 26 | 2008-06-27,585.0,585.0,550.0,565.0,562.0,170967.0,962.75 27 | 2008-06-30,565.0,570.0,520.0,523.0,537.85,105379.0,582.74 28 | 2008-07-01,535.0,536.9,502.65,526.5,517.75,86030.0,446.35 29 | 2008-07-02,511.0,530.0,495.0,518.0,522.55,225316.0,1140.17 30 | 2008-07-03,495.2,513.85,446.0,455.0,478.5,291484.0,1457.06 31 | 2008-07-04,471.35,500.0,447.0,499.05,499.7,98707.0,479.41 32 | 2008-07-07,494.65,544.0,494.65,518.0,521.8,422193.0,2153.85 33 | 2008-07-08,475.8,518.0,475.8,513.1,510.95,236281.0,1195.43 34 | 2008-07-09,550.0,550.0,512.0,517.9,518.05,91041.0,482.59 35 | 2008-07-10,515.0,519.85,500.0,510.0,506.8,83723.0,426.22 36 | 2008-07-11,519.9,520.0,466.65,477.0,478.95,45764.0,228.04 37 | 2008-07-14,498.0,498.0,455.0,458.0,461.9,79049.0,372.24 38 | 2008-07-15,447.0,463.0,436.05,436.05,448.5,52550.0,239.67 39 | 2008-07-16,440.0,451.95,417.5,424.1,424.95,269364.0,1145.97 40 | 2008-07-17,439.0,439.0,415.1,421.0,421.75,391481.0,1646.6 41 | 2008-07-18,405.35,428.0,388.05,406.65,410.7,166930.0,698.08 42 | 2008-07-21,411.0,421.6,408.1,411.0,410.7,109056.0,451.72 43 | 2008-07-22,402.35,424.95,402.35,420.9,420.0,125018.0,527.02 44 | 2008-07-23,433.0,449.95,428.05,437.15,437.85,524250.0,2283.61 45 | 2008-07-24,439.0,480.5,439.0,455.0,451.4,146863.0,663.36 46 | 2008-07-25,436.0,455.0,436.0,446.0,446.25,39059.0,174.61 47 | 2008-07-28,437.0,452.0,432.05,435.0,436.05,15178.0,66.89 48 | 2008-07-29,435.0,435.0,426.0,430.0,429.85,53978.0,231.97 49 | 2008-07-30,408.4,442.5,408.4,435.5,437.55,14333.0,62.7 50 | 2008-07-31,429.0,447.0,429.0,435.0,442.65,13873.0,61.24 51 | 2008-08-01,430.0,449.9,423.0,442.0,443.0,23610.0,104.45 52 | 2008-08-04,431.25,454.95,431.25,454.95,452.65,12186.0,54.67 53 | 2008-08-05,452.65,475.0,438.0,467.0,467.9,15674.0,72.77 54 | 2008-08-06,465.0,497.0,465.0,482.0,482.2,46278.0,224.03 55 | 2008-08-07,495.0,535.0,470.15,522.55,515.3,127300.0,639.24 56 | 2008-08-08,510.0,530.0,505.0,520.0,517.5,40717.0,210.13 57 | 2008-08-11,535.0,592.0,528.0,540.0,540.5,235630.0,1313.52 58 | 2008-08-12,550.0,550.0,512.5,528.4,523.7,54384.0,288.85 59 | 2008-08-13,518.75,555.0,510.0,540.6,544.1,77028.0,418.76 60 | 2008-08-14,535.0,549.45,525.0,530.0,528.95,27675.0,148.75 61 | 2008-08-18,504.0,528.0,504.0,521.95,519.15,52577.0,273.28 62 | 2008-08-19,502.0,549.9,502.0,549.05,540.7,181658.0,938.11 63 | 2008-08-20,551.1,551.1,523.1,530.0,531.65,29888.0,159.11 64 | 2008-08-21,516.5,546.0,516.5,526.9,528.1,27053.0,145.21 65 | 2008-08-22,524.0,529.7,517.5,522.0,522.4,24210.0,127.0 66 | 2008-08-25,530.0,540.95,521.0,522.55,529.8,30557.0,162.29 67 | 2008-08-26,520.15,547.95,520.15,527.0,527.6,48975.0,260.84 68 | 2008-08-27,553.95,553.95,512.0,517.15,519.7,44049.0,234.05 69 | 2008-08-28,510.5,550.0,510.5,540.0,544.25,69852.0,372.42 70 | 2008-08-29,550.0,558.0,532.4,537.05,537.3,49228.0,270.02 71 | 2008-09-01,532.4,545.0,530.0,531.0,534.15,9667.0,51.88 72 | 2008-09-02,535.0,542.6,533.35,534.1,536.1,18033.0,97.12 73 | 2008-09-04,530.0,538.8,521.1,527.0,526.2,33867.0,178.74 74 | 2008-09-05,520.1,544.0,520.0,523.25,524.95,34115.0,181.21 75 | 2008-09-08,545.0,545.0,518.0,519.0,521.85,38680.0,205.16 76 | 2008-09-09,520.0,528.0,515.5,521.0,522.2,72156.0,378.7 77 | 2008-09-10,512.0,539.8,505.0,523.0,520.55,68972.0,362.54 78 | 2008-09-11,520.0,523.0,473.0,479.05,479.1,47512.0,233.18 79 | 2008-09-12,481.0,489.0,453.1,470.2,469.3,23704.0,111.53 80 | 2008-09-15,450.0,454.85,409.5,443.5,443.1,17263.0,73.82 81 | 2008-09-16,420.95,420.95,388.05,395.5,403.2,280801.0,1135.58 82 | 2008-09-17,405.0,423.85,391.55,403.65,402.15,56180.0,229.25 83 | 2008-09-18,395.0,395.0,351.0,370.0,373.25,41952.0,153.52 84 | 2008-09-19,389.95,389.95,362.4,373.15,374.75,142879.0,535.11 85 | 2008-09-22,375.0,393.5,375.0,390.0,390.1,87283.0,338.94 86 | 2008-09-23,376.0,386.65,376.0,383.05,383.95,16468.0,63.07 87 | 2008-09-24,374.0,394.0,374.0,389.9,389.1,12401.0,48.32 88 | 2008-09-25,378.0,402.0,378.0,398.3,396.1,30354.0,118.3 89 | 2008-09-26,384.4,397.0,377.05,380.0,380.45,11006.0,42.37 90 | 2008-09-29,376.6,385.0,372.8,373.75,376.8,35562.0,133.86 91 | 2008-09-30,340.1,390.0,340.0,380.05,386.65,28963.0,108.67 92 | 2008-10-01,378.5,386.95,361.0,365.0,363.85,17324.0,64.98 93 | 2008-10-03,367.0,375.7,338.75,350.0,350.0,71683.0,251.04 94 | 2008-10-06,340.0,343.0,301.3,301.3,313.5,39225.0,130.03 95 | 2008-10-07,315.0,327.9,280.35,294.0,292.35,13770.0,41.01 96 | 2008-10-08,292.0,295.0,236.0,243.0,244.3,20067.0,49.48 97 | 2008-10-10,200.25,231.0,195.45,195.45,195.45,132964.0,270.91 98 | 2008-10-13,214.0,214.0,175.9,185.0,177.95,44431.0,81.88 99 | 2008-10-14,193.0,195.75,184.3,187.0,189.45,34733.0,66.87 100 | 2008-10-15,180.0,185.9,172.05,172.05,174.15,25074.0,44.57 101 | 2008-10-16,170.0,170.9,162.0,164.0,164.85,69341.0,114.3 102 | 2008-10-17,165.0,170.0,150.0,160.0,158.4,73429.0,117.88 103 | 2008-10-20,160.0,161.95,151.0,155.0,155.0,338910.0,534.51 104 | 2008-10-21,153.4,165.0,147.1,150.0,150.4,77927.0,119.33 105 | 2008-10-22,144.0,155.0,144.0,148.5,149.9,21688.0,32.8 106 | 2008-10-23,141.25,144.5,140.0,140.0,140.65,26377.0,37.66 107 | 2008-10-24,136.0,147.0,126.6,126.6,126.6,33043.0,42.09 108 | 2008-10-27,125.05,125.05,113.95,113.95,113.95,3741.0,4.28 109 | 2008-10-28,118.0,119.65,108.3,114.1,117.6,5433.0,6.32 110 | 2008-10-29,120.1,120.1,111.8,111.8,113.9,33055.0,37.84 111 | 2008-10-31,118.2,119.6,108.25,118.0,116.65,57456.0,66.15 112 | 2008-11-03,120.0,122.5,117.0,122.5,120.05,3032664.0,3639.82 113 | 2008-11-04,126.05,126.05,118.0,122.9,122.35,73532.0,89.38 114 | 2008-11-05,126.0,128.2,124.0,125.05,125.0,63378.0,79.41 115 | 2008-11-06,124.0,126.0,120.3,123.9,122.0,124900.0,152.48 116 | 2008-11-07,118.3,128.1,118.3,128.1,128.1,33114.0,41.59 117 | 2008-11-10,130.1,134.55,130.1,134.0,133.35,41466.0,55.27 118 | 2008-11-11,132.0,140.05,132.0,140.05,140.05,9762.0,13.37 119 | 2008-11-12,136.0,146.0,136.0,141.5,140.6,88027.0,124.53 120 | 2008-11-14,142.0,144.9,135.0,137.0,136.95,30008.0,41.01 121 | 2008-11-17,131.0,137.0,130.1,130.5,130.5,20896.0,27.29 122 | 2008-11-18,124.05,129.9,124.0,124.5,124.1,7895.0,9.93 123 | 2008-11-19,123.0,123.0,117.9,120.0,119.35,110056.0,131.62 124 | 2008-11-20,113.6,118.0,113.4,118.0,117.75,47943.0,54.47 125 | 2008-11-21,111.9,118.0,111.9,113.1,113.75,49746.0,56.76 126 | 2008-11-24,110.1,114.8,108.6,109.0,109.0,97789.0,110.69 127 | 2008-11-25,108.5,112.5,103.55,103.55,103.55,182410.0,190.5 128 | 2008-11-26,98.7,102.9,98.4,99.0,98.4,43626.0,42.95 129 | 2008-11-28,97.0,98.7,93.5,96.0,95.55,188709.0,178.87 130 | 2008-12-01,95.0,100.35,90.9,94.0,93.05,168560.0,167.82 131 | 2008-12-02,93.1,93.1,88.4,92.0,90.75,13364.0,11.93 132 | 2008-12-03,88.15,94.0,88.15,91.0,91.65,3807697.0,3578.97 133 | 2008-12-04,91.0,96.25,91.0,96.25,95.05,317345.0,301.54 134 | 2008-12-05,94.0,99.8,94.0,99.8,99.8,30213.0,30.12 135 | 2008-12-08,104.8,104.8,104.8,104.8,104.8,7298.0,7.65 136 | 2008-12-10,110.05,110.05,105.0,109.4,109.35,359828.0,389.62 137 | 2008-12-11,110.0,110.0,105.2,106.6,107.7,27429.0,29.48 138 | 2008-12-12,102.5,110.0,102.5,105.6,105.9,37999.0,40.29 139 | 2008-12-15,104.9,111.2,104.9,108.0,108.0,46434.0,50.2 140 | 2008-12-16,104.0,111.3,104.0,106.15,106.25,524191.0,565.89 141 | 2008-12-17,104.05,110.7,100.95,100.95,100.95,36735.0,38.01 142 | 2008-12-18,98.1,106.0,98.0,106.0,105.55,10333.0,10.59 143 | 2008-12-19,102.0,110.85,102.0,110.85,110.85,56061.0,60.81 144 | 2008-12-22,114.0,116.4,109.05,116.4,115.35,247718.0,280.6 145 | 2008-12-23,117.0,121.15,113.3,121.15,121.15,27545.0,33.2 146 | 2008-12-24,127.25,127.25,122.0,127.25,127.25,14759.0,18.7 147 | 2008-12-26,133.65,133.65,133.65,133.65,133.65,84275.0,112.63 148 | 2008-12-29,139.7,140.35,135.25,140.35,140.35,103583.0,144.48 149 | 2008-12-30,146.4,147.4,142.0,147.4,147.4,146091.0,211.34 150 | 2008-12-31,149.5,154.8,142.0,151.95,149.7,112759.0,171.87 151 | -------------------------------------------------------------------------------- /Historical data/2010/BAJFINANCE-2010.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2010-09-29,780.0,805.0,770.0,776.0,774.6,26000.0,203.69 3 | 2010-09-30,775.0,783.45,766.25,772.0,773.55,17350.0,134.35 4 | 2010-10-01,763.0,797.3,760.25,773.6,774.95,35941.0,280.42 5 | 2010-10-04,788.0,795.0,775.0,786.65,783.4,31160.0,245.19 6 | 2010-10-05,775.1,788.0,772.05,778.95,779.0,32141.0,250.31 7 | 2010-10-06,812.0,812.0,773.0,799.95,799.45,69177.0,551.32 8 | 2010-10-07,791.0,807.0,778.2,786.9,783.85,38093.0,303.35 9 | 2010-10-08,780.0,799.0,776.55,779.5,779.25,20060.0,157.3 10 | 2010-10-11,782.5,798.0,782.5,792.0,793.65,16798.0,133.34 11 | 2010-10-12,782.1,803.95,782.1,800.0,798.15,22402.0,177.7 12 | 2010-10-13,791.0,805.0,791.0,797.95,797.6,36541.0,292.17 13 | 2010-10-14,798.0,807.0,798.0,805.0,805.4,47108.0,378.72 14 | 2010-10-15,795.0,806.0,782.05,785.0,784.9,14809.0,117.41 15 | 2010-10-18,799.0,799.0,745.0,760.0,759.95,64137.0,490.38 16 | 2010-10-19,775.0,775.0,747.0,750.05,751.2,52109.0,397.47 17 | 2010-10-20,760.0,775.0,757.0,765.8,765.8,26636.0,204.62 18 | 2010-10-21,770.0,774.0,768.0,771.95,771.6,24106.0,185.83 19 | 2010-10-22,777.0,777.0,770.0,772.0,772.9,8814.0,68.1 20 | 2010-10-25,772.0,797.25,770.0,790.45,791.2,18209.0,143.38 21 | 2010-10-26,788.0,797.9,775.2,784.0,783.95,8898.0,70.24 22 | 2010-10-27,784.2,789.85,770.0,780.1,777.35,7409.0,57.75 23 | 2010-10-28,771.0,780.0,770.1,770.15,770.6,5769.0,44.71 24 | 2010-10-29,768.45,790.0,739.8,790.0,774.45,36854.0,282.67 25 | 2010-11-01,790.0,801.0,781.5,796.95,798.6,22483.0,178.79 26 | 2010-11-02,805.0,838.0,799.0,805.0,806.4,158531.0,1302.17 27 | 2010-11-03,810.0,818.65,795.0,800.0,799.25,21687.0,174.9 28 | 2010-11-04,785.5,811.8,785.5,810.0,810.3,16533.0,133.78 29 | 2010-11-05,812.0,820.0,805.0,807.0,811.9,7313.0,59.42 30 | 2010-11-08,811.95,817.0,801.55,806.95,809.15,13274.0,107.39 31 | 2010-11-09,803.0,828.0,803.0,812.0,815.8,34403.0,279.77 32 | 2010-11-10,810.0,823.9,808.0,809.9,809.9,24918.0,202.61 33 | 2010-11-11,812.0,814.0,786.0,795.0,795.9,39459.0,315.43 34 | 2010-11-12,795.9,798.0,775.1,775.2,782.75,35124.0,276.47 35 | 2010-11-15,778.0,799.9,778.0,780.15,781.55,21302.0,167.27 36 | 2010-11-16,780.1,794.85,751.1,781.0,778.6,35834.0,276.5 37 | 2010-11-18,798.0,798.0,736.0,774.95,772.3,16263.0,123.72 38 | 2010-11-19,769.95,786.9,750.15,760.0,761.6,14753.0,112.09 39 | 2010-11-22,760.0,776.0,752.0,776.0,763.85,10724.0,81.35 40 | 2010-11-23,765.0,772.0,753.0,772.0,764.2,11373.0,86.64 41 | 2010-11-24,757.0,774.55,755.0,756.0,758.55,8722.0,66.91 42 | 2010-11-25,761.0,761.0,725.05,725.05,734.65,18648.0,138.12 43 | 2010-11-26,729.0,742.0,650.0,742.0,730.15,53587.0,378.62 44 | 2010-11-29,730.15,730.15,676.2,721.0,713.6,43622.0,307.38 45 | 2010-11-30,706.0,719.9,696.0,700.7,707.35,9093.0,64.36 46 | 2010-12-01,710.0,731.8,710.0,712.0,713.3,9889.0,71.08 47 | 2010-12-02,718.0,748.0,712.4,746.0,741.85,11280.0,82.9 48 | 2010-12-03,742.0,742.0,710.0,720.0,719.95,6205.0,44.99 49 | 2010-12-06,725.0,728.0,705.0,709.4,707.15,4518.0,32.49 50 | 2010-12-07,729.0,729.0,665.0,673.0,671.75,65152.0,444.66 51 | 2010-12-08,675.0,681.0,660.0,670.0,670.05,24946.0,167.29 52 | 2010-12-09,689.95,689.95,639.0,660.0,661.0,66998.0,440.01 53 | 2010-12-10,689.8,699.0,632.0,699.0,687.45,12216.0,81.31 54 | 2010-12-13,687.25,709.0,662.25,699.7,698.65,6963.0,47.81 55 | 2010-12-14,704.0,709.7,683.0,706.0,705.5,5716.0,40.29 56 | 2010-12-15,692.0,700.0,681.4,696.95,690.5,1747.0,12.11 57 | 2010-12-16,697.0,697.0,682.05,690.0,688.05,1216.0,8.38 58 | 2010-12-20,686.0,698.95,675.0,690.0,688.0,9371.0,64.48 59 | 2010-12-21,685.0,698.0,678.1,678.35,684.25,9127.0,62.91 60 | 2010-12-22,683.0,694.8,680.0,680.0,681.7,4128.0,28.36 61 | 2010-12-23,693.0,703.0,683.5,700.1,701.4,14064.0,98.1 62 | 2010-12-24,690.4,703.0,688.05,689.0,693.0,13384.0,93.45 63 | 2010-12-27,700.05,709.0,685.15,692.0,689.05,4644.0,32.3 64 | 2010-12-28,699.95,709.75,695.15,699.0,699.95,19000.0,133.34 65 | 2010-12-29,705.0,709.0,688.5,699.0,699.1,16164.0,112.43 66 | 2010-12-30,704.9,705.0,700.0,704.0,703.85,6563.0,46.21 67 | 2010-12-31,704.0,707.0,699.9,704.0,703.6,22015.0,155.09 68 | -------------------------------------------------------------------------------- /Historical data/2010/COALINDIA-2010.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2010-11-04,291.0,344.9,291.0,342.0,342.55,479716245.0,1570039.58 3 | 2010-11-05,343.0,356.5,343.0,348.3,349.85,31927173.0,111674.72 4 | 2010-11-08,351.8,355.9,329.5,331.4,330.75,46932779.0,157311.75 5 | 2010-11-09,330.15,333.4,325.0,325.4,326.05,23741956.0,77813.83 6 | 2010-11-10,325.4,327.8,320.05,321.3,322.8,21057129.0,68179.82 7 | 2010-11-11,323.0,336.95,321.85,329.6,328.55,26548372.0,87990.18 8 | 2010-11-12,330.0,332.95,318.0,320.55,320.15,15004107.0,48878.72 9 | 2010-11-15,321.2,322.9,315.05,318.1,317.2,9917395.0,31675.44 10 | 2010-11-16,320.0,323.95,316.1,317.5,318.05,12100114.0,38624.6 11 | 2010-11-18,319.6,328.95,310.0,327.3,326.9,23983896.0,76529.41 12 | 2010-11-19,330.25,339.95,328.1,329.0,333.55,51723739.0,173672.03 13 | 2010-11-22,336.0,337.0,315.0,333.4,333.35,11494521.0,38422.08 14 | 2010-11-23,330.5,332.4,317.5,320.0,320.15,13147667.0,42758.39 15 | 2010-11-24,329.35,329.35,310.0,310.7,310.8,16243562.0,51077.34 16 | 2010-11-25,314.0,318.35,311.1,313.75,313.2,6489260.0,20407.86 17 | 2010-11-26,315.0,316.0,301.0,313.5,312.7,13657322.0,42242.44 18 | 2010-11-29,311.4,319.7,308.2,319.0,317.45,6493219.0,20390.73 19 | 2010-11-30,315.0,319.0,312.0,318.4,317.25,6050064.0,19084.3 20 | 2010-12-01,317.0,322.5,315.0,321.3,320.95,5053942.0,16149.11 21 | 2010-12-02,322.2,325.95,321.15,324.5,324.85,6143344.0,19909.66 22 | 2010-12-03,318.1,325.7,318.1,322.9,321.95,2453815.0,7896.47 23 | 2010-12-06,321.0,324.9,318.5,320.3,320.4,2895539.0,9318.36 24 | 2010-12-07,320.5,322.75,317.25,320.0,320.0,3484977.0,11164.32 25 | 2010-12-08,318.6,322.7,317.25,318.5,318.85,2877153.0,9170.42 26 | 2010-12-09,318.0,320.0,309.0,313.6,313.2,5313081.0,16600.27 27 | 2010-12-10,312.0,322.0,312.0,316.45,317.3,5799900.0,18432.83 28 | 2010-12-13,318.0,324.35,317.0,323.55,323.15,2809522.0,9019.22 29 | 2010-12-14,324.45,331.0,322.75,325.3,325.3,7075931.0,23158.72 30 | 2010-12-15,325.6,330.0,323.0,328.1,327.85,5380352.0,17629.06 31 | 2010-12-16,326.75,327.0,317.4,320.5,320.7,2893052.0,9288.29 32 | 2010-12-20,323.0,323.0,315.05,315.15,316.0,2905355.0,9227.49 33 | 2010-12-21,318.8,318.8,311.2,312.75,313.3,4427901.0,13905.74 34 | 2010-12-22,315.1,319.7,312.7,313.2,314.05,5425074.0,17115.02 35 | 2010-12-23,315.05,315.95,312.0,312.45,312.95,3326534.0,10448.28 36 | 2010-12-24,313.0,313.9,310.1,312.2,312.15,1859093.0,5803.61 37 | 2010-12-27,312.15,314.3,306.5,307.0,307.3,5273320.0,16293.77 38 | 2010-12-28,308.0,309.95,301.0,304.4,303.75,8055446.0,24474.44 39 | 2010-12-29,306.1,311.4,304.3,310.0,310.25,5772875.0,17794.28 40 | 2010-12-30,311.0,311.6,307.0,308.2,308.05,2643251.0,8147.45 41 | 2010-12-31,309.5,316.45,308.3,314.0,314.75,4960987.0,15598.99 42 | -------------------------------------------------------------------------------- /Historical data/2011/HEROMOTOCO-2011.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2011-08-08,1745.0,1863.8,1720.0,1854.0,1855.55,446162.0,8150.01 3 | 2011-08-09,1791.0,1880.0,1791.0,1850.25,1853.4,462295.0,8558.38 4 | 2011-08-10,1866.1,1889.6,1846.5,1885.0,1883.95,432000.0,8094.4 5 | 2011-08-11,1874.95,1884.8,1852.75,1860.0,1859.35,356386.0,6664.97 6 | 2011-08-12,1857.05,1914.0,1857.05,1890.0,1890.25,474789.0,8995.11 7 | 2011-08-16,1900.0,1918.9,1880.2,1902.2,1890.3,385466.0,7335.28 8 | 2011-08-17,1890.5,1952.0,1890.5,1936.3,1939.55,756048.0,14562.62 9 | 2011-08-18,1937.0,1963.0,1937.0,1952.45,1953.7,380313.0,7432.58 10 | 2011-08-19,1920.0,2000.0,1920.0,1996.0,1993.7,480001.0,9458.96 11 | 2011-08-22,1994.05,2021.5,1987.35,1998.7,2007.65,763875.0,15348.36 12 | 2011-08-23,2009.95,2015.65,1978.15,1993.9,1992.55,405250.0,8118.49 13 | 2011-08-24,1977.5,1994.95,1951.3,1966.9,1964.95,311784.0,6136.88 14 | 2011-08-25,1948.8,1973.95,1865.8,1895.0,1902.2,933496.0,17991.7 15 | 2011-08-26,1902.0,1965.2,1878.6,1962.0,1951.55,499712.0,9686.4 16 | 2011-08-29,1954.55,1998.4,1936.55,1981.0,1972.3,581650.0,11476.08 17 | 2011-08-30,1984.0,2068.0,1982.25,2065.0,2051.75,736166.0,14906.43 18 | 2011-09-02,2110.0,2121.65,2048.05,2075.5,2072.75,432735.0,8973.87 19 | 2011-09-05,2050.0,2193.0,2048.0,2185.0,2183.35,1079760.0,23209.99 20 | 2011-09-06,2189.7,2207.95,2150.0,2167.8,2167.45,711871.0,15473.18 21 | 2011-09-07,2180.0,2187.2,2135.25,2172.0,2172.9,527380.0,11424.21 22 | 2011-09-08,2166.1,2187.0,2143.0,2167.15,2169.7,373029.0,8075.49 23 | 2011-09-09,2165.5,2237.0,2165.45,2219.05,2222.5,868373.0,19270.61 24 | 2011-09-12,2200.0,2230.0,2186.15,2211.95,2214.15,479985.0,10598.93 25 | 2011-09-13,2204.0,2229.3,2190.7,2207.95,2202.9,432679.0,9547.42 26 | 2011-09-14,2197.75,2209.0,2167.85,2201.0,2193.65,1258246.0,27509.81 27 | 2011-09-15,2195.0,2213.6,2184.05,2201.75,2202.35,441841.0,9705.86 28 | 2011-09-16,2200.0,2222.0,2191.65,2201.1,2200.25,305050.0,6723.11 29 | 2011-09-19,2186.05,2215.0,2185.4,2202.75,2201.15,220974.0,4868.01 30 | 2011-09-20,2195.0,2217.5,2191.15,2200.0,2205.7,335286.0,7395.18 31 | 2011-09-21,2213.7,2213.7,2118.95,2130.0,2134.3,745676.0,16056.79 32 | 2011-09-22,2095.0,2119.95,2077.5,2080.25,2086.95,334283.0,7025.94 33 | 2011-09-23,2055.0,2086.95,2021.4,2044.95,2037.05,539677.0,11072.75 34 | 2011-09-26,2040.0,2045.0,1953.75,1978.0,1976.55,673096.0,13370.66 35 | 2011-09-27,2000.05,2018.8,1985.05,1988.05,1992.7,389532.0,7780.13 36 | 2011-09-28,2006.0,2006.05,1950.35,1950.35,1957.95,263193.0,5167.62 37 | 2011-09-29,1950.0,2018.95,1915.6,1993.0,2000.85,1400868.0,27667.58 38 | 2011-09-30,1994.9,1994.9,1920.0,1946.0,1941.75,637049.0,12450.83 39 | 2011-10-03,1933.95,1966.9,1904.35,1961.6,1959.7,561252.0,10920.86 40 | 2011-10-04,1927.0,1995.0,1927.0,1960.0,1961.45,597115.0,11759.0 41 | 2011-10-05,1955.05,1970.9,1936.4,1952.9,1949.75,410851.0,8028.49 42 | 2011-10-07,1985.0,1999.9,1912.2,1945.65,1940.9,542327.0,10587.18 43 | 2011-10-10,1931.0,1972.7,1918.5,1968.2,1960.8,409363.0,7991.96 44 | 2011-10-11,1968.6,1994.7,1968.6,1974.0,1975.7,248978.0,4930.3 45 | 2011-10-12,1980.0,2035.25,1965.0,1997.45,2000.85,505210.0,10067.09 46 | 2011-10-13,2010.0,2025.5,1973.95,1981.0,1981.9,289424.0,5771.48 47 | 2011-10-14,1968.0,2010.0,1968.0,1994.8,1993.75,221667.0,4420.56 48 | 2011-10-17,2004.0,2027.6,1975.1,1993.0,1992.8,224721.0,4473.82 49 | 2011-10-18,1990.0,2015.0,1963.0,1984.0,1985.85,707937.0,14148.03 50 | 2011-10-19,2060.0,2092.95,2041.5,2057.6,2066.55,1775133.0,36739.61 51 | 2011-10-20,2046.0,2055.75,1997.0,2029.0,2030.05,785209.0,15912.6 52 | 2011-10-21,2030.05,2066.25,2005.25,2052.9,2052.3,717701.0,14700.48 53 | 2011-10-24,2069.7,2090.6,2061.45,2070.6,2072.55,294840.0,6120.34 54 | 2011-10-25,2073.0,2106.4,2032.1,2087.0,2090.4,1091808.0,22692.64 55 | 2011-10-26,2101.55,2119.35,2096.15,2096.15,2107.65,54484.0,1148.92 56 | 2011-10-28,2160.0,2231.45,2140.0,2150.05,2157.4,527873.0,11422.48 57 | 2011-10-31,2150.0,2190.6,2150.0,2185.2,2181.35,485738.0,10573.05 58 | 2011-11-01,2159.0,2175.55,2122.3,2146.0,2137.35,334932.0,7183.73 59 | 2011-11-02,2120.0,2139.95,2069.2,2084.95,2089.35,615746.0,12914.08 60 | 2011-11-03,2081.2,2089.0,2035.65,2082.0,2071.3,1043359.0,21483.73 61 | 2011-11-04,2085.2,2133.65,2085.2,2124.0,2113.8,323921.0,6857.82 62 | 2011-11-08,2136.0,2151.6,2111.0,2116.15,2119.7,211070.0,4494.68 63 | 2011-11-09,2134.7,2166.8,2125.3,2135.1,2140.1,352001.0,7563.22 64 | 2011-11-11,2120.0,2188.9,2115.0,2175.0,2172.95,346536.0,7519.32 65 | 2011-11-14,2177.0,2249.7,2177.0,2210.0,2209.55,847401.0,18779.34 66 | 2011-11-15,2205.0,2229.0,2147.5,2153.0,2161.65,381063.0,8333.1 67 | 2011-11-16,2149.05,2159.5,2087.45,2101.7,2103.75,459599.0,9661.41 68 | 2011-11-17,2093.7,2153.5,2075.7,2123.55,2118.75,595134.0,12630.58 69 | 2011-11-18,2100.0,2202.0,2100.0,2199.0,2193.4,865363.0,18827.71 70 | 2011-11-21,2181.0,2198.0,2156.0,2168.0,2171.6,658421.0,14298.15 71 | 2011-11-22,2177.7,2196.5,2134.05,2149.0,2166.9,587439.0,12723.33 72 | 2011-11-23,2159.95,2220.0,2103.0,2155.0,2126.65,786798.0,16749.87 73 | 2011-11-24,2112.0,2153.65,2078.25,2093.0,2106.9,598972.0,12612.76 74 | 2011-11-25,2090.0,2095.0,2023.0,2037.0,2036.2,780396.0,15985.11 75 | 2011-11-28,2059.0,2082.75,2024.2,2035.0,2033.25,404303.0,8318.06 76 | 2011-11-29,2030.1,2078.9,1990.75,2070.0,2061.15,722677.0,14823.64 77 | 2011-11-30,2061.0,2087.3,1971.1,2011.0,1999.7,2870263.0,58051.37 78 | 2011-12-01,2035.0,2101.0,2035.0,2093.0,2088.3,466629.0,9666.92 79 | 2011-12-02,2094.1,2108.9,2056.0,2077.5,2080.95,720064.0,14965.17 80 | 2011-12-05,2079.5,2080.0,2051.7,2061.0,2061.85,243911.0,5035.35 81 | 2011-12-07,2053.0,2083.85,2048.6,2053.0,2058.1,331557.0,6849.36 82 | 2011-12-08,2059.0,2091.3,2047.0,2050.5,2057.7,367679.0,7604.94 83 | 2011-12-09,2043.0,2057.65,2011.0,2035.0,2033.4,330459.0,6720.31 84 | 2011-12-12,2041.0,2050.05,1970.45,1975.9,1976.6,389019.0,7816.57 85 | 2011-12-13,1973.5,2013.8,1939.8,2010.0,2006.9,385418.0,7611.16 86 | 2011-12-14,2000.0,2009.0,1965.0,1967.0,1975.1,299350.0,5949.43 87 | 2011-12-15,1951.2,1966.3,1910.0,1961.0,1956.1,326709.0,6343.15 88 | 2011-12-16,1960.0,2003.0,1901.0,1925.0,1925.7,385536.0,7544.14 89 | 2011-12-19,1906.0,1942.75,1878.35,1899.0,1913.7,554537.0,10553.31 90 | 2011-12-20,1917.0,1925.0,1788.1,1795.2,1809.9,626765.0,11497.06 91 | 2011-12-21,1853.0,1863.25,1764.9,1861.0,1845.6,1077209.0,19602.2 92 | 2011-12-22,1813.0,1870.0,1813.0,1850.3,1850.55,558856.0,10319.29 93 | 2011-12-23,1869.0,1869.0,1812.1,1858.0,1850.0,392373.0,7235.16 94 | 2011-12-26,1867.0,1940.95,1845.55,1940.0,1921.5,368195.0,7009.45 95 | 2011-12-27,1930.0,1935.9,1895.0,1897.5,1905.6,265949.0,5085.26 96 | 2011-12-28,1906.0,1919.9,1886.95,1905.0,1910.65,422058.0,8046.61 97 | 2011-12-29,1896.0,1919.45,1892.85,1901.0,1904.5,278028.0,5299.23 98 | 2011-12-30,1895.0,1932.5,1895.0,1905.0,1905.15,273562.0,5232.1 99 | -------------------------------------------------------------------------------- /Historical data/2011/INFY-2011.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2011-06-29,2868.0,2907.0,2868.0,2880.0,2881.75,600094.0,17320.05 3 | 2011-06-30,2886.05,2919.0,2881.5,2903.1,2910.45,1417730.0,41163.32 4 | 2011-07-01,2935.0,2969.95,2924.1,2928.0,2934.15,800308.0,23549.85 5 | 2011-07-04,2966.65,2977.0,2935.0,2941.0,2938.95,514324.0,15162.29 6 | 2011-07-05,2957.0,2969.9,2926.0,2959.0,2956.45,802966.0,23701.22 7 | 2011-07-06,2947.0,2972.45,2937.1,2954.5,2953.7,430028.0,12701.3 8 | 2011-07-07,2955.2,3000.0,2943.0,2998.0,2995.7,718934.0,21388.82 9 | 2011-07-08,3000.0,3023.9,2967.25,2967.25,2976.55,708724.0,21245.9 10 | 2011-07-11,2953.9,2976.1,2888.55,2926.35,2921.15,1150815.0,33571.22 11 | 2011-07-12,2850.0,2850.0,2746.8,2786.1,2791.55,3706582.0,102882.43 12 | 2011-07-13,2766.0,2807.35,2761.05,2778.0,2777.3,1667271.0,46335.42 13 | 2011-07-14,2760.25,2764.0,2731.0,2739.95,2740.35,1361403.0,37333.24 14 | 2011-07-15,2744.0,2762.95,2720.0,2731.5,2731.35,799078.0,21847.06 15 | 2011-07-18,2735.0,2743.25,2707.35,2712.5,2713.4,1176082.0,31968.69 16 | 2011-07-19,2721.0,2762.0,2716.65,2747.2,2750.5,1040553.0,28526.28 17 | 2011-07-20,2772.8,2772.8,2745.0,2755.05,2752.45,777839.0,21418.78 18 | 2011-07-21,2745.2,2784.5,2736.8,2766.5,2768.1,737136.0,20387.82 19 | 2011-07-22,2784.3,2844.0,2770.0,2820.0,2828.25,968703.0,27324.24 20 | 2011-07-25,2818.0,2825.05,2791.1,2806.0,2807.75,925532.0,25971.71 21 | 2011-07-26,2809.0,2824.0,2787.5,2801.0,2801.8,856092.0,23997.53 22 | 2011-07-27,2801.0,2835.9,2791.2,2795.0,2796.65,1063305.0,29836.3 23 | 2011-07-28,2765.0,2773.9,2734.5,2743.0,2751.1,1185172.0,32573.77 24 | 2011-07-29,2741.0,2782.45,2725.4,2766.0,2775.9,1219699.0,33734.33 25 | 2011-08-01,2780.1,2823.8,2780.1,2815.25,2815.1,761869.0,21421.66 26 | 2011-08-02,2798.55,2798.55,2745.0,2752.0,2750.95,616566.0,17033.36 27 | 2011-08-03,2735.0,2739.7,2708.5,2730.0,2732.6,705761.0,19233.05 28 | 2011-08-04,2740.0,2759.95,2704.0,2714.8,2709.15,816236.0,22346.0 29 | 2011-08-05,2643.6,2643.6,2525.0,2601.0,2591.2,1969759.0,50941.13 30 | 2011-08-08,2500.0,2500.0,2431.0,2487.0,2470.5,2021280.0,49882.39 31 | 2011-08-09,2351.0,2439.95,2350.2,2379.0,2374.55,2106218.0,50278.36 32 | 2011-08-10,2448.0,2476.4,2411.1,2455.0,2447.1,1744495.0,42678.94 33 | 2011-08-11,2432.0,2469.0,2414.95,2430.0,2440.6,1025779.0,25041.95 34 | 2011-08-12,2488.0,2488.0,2342.35,2379.95,2375.2,1762260.0,42058.7 35 | 2011-08-16,2430.0,2438.25,2372.3,2415.25,2399.3,1268338.0,30423.99 36 | 2011-08-17,2396.0,2465.5,2396.0,2449.8,2448.95,1066416.0,25983.15 37 | 2011-08-18,2465.0,2468.1,2343.0,2362.0,2354.1,1334333.0,31707.4 38 | 2011-08-19,2274.0,2274.0,2171.6,2225.0,2224.7,3612400.0,79747.13 39 | 2011-08-22,2213.9,2245.1,2175.0,2187.0,2194.6,1963509.0,43416.88 40 | 2011-08-23,2201.25,2302.65,2194.0,2268.0,2276.95,2142930.0,48235.16 41 | 2011-08-24,2280.0,2284.95,2230.0,2247.2,2250.9,1075768.0,24215.3 42 | 2011-08-25,2250.2,2265.1,2161.5,2185.5,2183.4,3356719.0,73681.67 43 | 2011-08-26,2186.5,2252.9,2182.65,2208.0,2202.55,2627745.0,58342.95 44 | 2011-08-29,2239.0,2312.25,2232.0,2287.0,2296.25,1402816.0,32108.09 45 | 2011-08-30,2331.0,2360.0,2280.0,2358.65,2342.95,1517865.0,35366.96 46 | 2011-09-02,2385.0,2385.0,2275.3,2324.5,2319.2,1870113.0,43304.15 47 | 2011-09-05,2293.7,2293.7,2240.2,2262.5,2265.1,1362818.0,30755.35 48 | 2011-09-06,2253.9,2320.0,2222.25,2319.5,2302.55,1352087.0,30573.96 49 | 2011-09-07,2297.9,2314.3,2267.65,2286.0,2291.45,1644679.0,37690.5 50 | 2011-09-08,2300.0,2354.0,2299.0,2335.3,2338.45,1378484.0,32224.65 51 | 2011-09-09,2328.1,2328.1,2261.0,2261.0,2274.3,1549013.0,35440.58 52 | 2011-09-12,2208.0,2217.35,2180.65,2195.0,2198.45,1024783.0,22522.62 53 | 2011-09-13,2223.1,2259.7,2195.75,2220.95,2222.05,1295652.0,28926.01 54 | 2011-09-14,2251.0,2366.9,2249.0,2357.0,2351.65,2154610.0,49776.74 55 | 2011-09-15,2378.0,2428.5,2330.0,2420.0,2409.9,1712932.0,40670.05 56 | 2011-09-16,2457.9,2457.9,2373.6,2394.1,2395.15,1413013.0,33913.66 57 | 2011-09-19,2399.0,2411.6,2356.1,2365.95,2362.65,819804.0,19476.67 58 | 2011-09-20,2377.0,2440.0,2375.15,2435.2,2436.55,1126113.0,27282.34 59 | 2011-09-21,2440.0,2454.9,2420.0,2440.0,2435.65,925310.0,22546.93 60 | 2011-09-22,2384.0,2411.8,2336.65,2350.0,2352.6,1129732.0,26912.68 61 | 2011-09-23,2328.0,2389.8,2321.0,2325.0,2338.8,1306054.0,30724.96 62 | 2011-09-26,2345.0,2365.0,2301.1,2360.0,2355.0,818036.0,19108.26 63 | 2011-09-27,2377.2,2468.65,2377.2,2454.1,2444.15,1292628.0,31374.35 64 | 2011-09-28,2480.0,2540.0,2452.5,2482.25,2470.25,2507720.0,62515.16 65 | 2011-09-29,2482.0,2569.95,2471.25,2550.05,2551.1,2907043.0,73476.79 66 | 2011-09-30,2531.9,2564.0,2508.2,2532.0,2533.05,1341332.0,34018.09 67 | 2011-10-03,2490.0,2518.0,2467.7,2483.0,2475.9,1235641.0,30753.03 68 | 2011-10-04,2452.2,2481.75,2413.6,2440.0,2438.5,979810.0,23960.94 69 | 2011-10-05,2457.95,2499.0,2428.1,2455.05,2446.95,1346482.0,33142.42 70 | 2011-10-07,2560.0,2574.9,2487.65,2514.0,2508.7,2307216.0,58572.14 71 | 2011-10-10,2545.0,2600.9,2528.4,2592.8,2589.95,2118304.0,54342.69 72 | 2011-10-11,2593.4,2595.0,2490.0,2499.3,2504.55,2792406.0,70499.34 73 | 2011-10-12,2595.0,2688.0,2595.0,2681.0,2679.35,4329213.0,114722.84 74 | 2011-10-13,2719.0,2729.0,2685.0,2698.95,2696.7,2255192.0,60961.32 75 | 2011-10-14,2711.1,2756.7,2686.3,2755.15,2743.75,2450124.0,66599.1 76 | 2011-10-17,2761.1,2764.9,2720.2,2746.0,2746.55,1768187.0,48370.92 77 | 2011-10-18,2699.9,2725.0,2687.7,2702.95,2701.55,1314767.0,35569.15 78 | 2011-10-19,2722.0,2735.0,2701.1,2732.8,2727.75,1266915.0,34461.4 79 | 2011-10-20,2692.0,2757.0,2687.55,2747.0,2747.55,696710.0,18900.23 80 | 2011-10-21,2747.55,2749.0,2707.0,2723.6,2722.65,857289.0,23365.94 81 | 2011-10-24,2750.0,2774.8,2741.2,2769.9,2767.3,759449.0,21010.82 82 | 2011-10-25,2811.0,2899.0,2811.0,2882.0,2858.7,1959698.0,55710.73 83 | 2011-10-26,2861.9,2869.95,2831.4,2841.35,2838.65,228612.0,6495.13 84 | 2011-10-28,2921.0,2971.35,2845.05,2856.85,2858.65,3108598.0,89635.04 85 | 2011-10-31,2856.0,2897.75,2856.0,2872.0,2877.55,1286453.0,37082.77 86 | 2011-11-01,2840.0,2874.1,2818.0,2840.0,2836.6,988274.0,28099.81 87 | 2011-11-02,2820.0,2853.9,2817.4,2828.0,2834.4,664732.0,18878.0 88 | 2011-11-03,2834.0,2842.0,2767.2,2815.0,2802.1,1347453.0,37666.47 89 | 2011-11-04,2845.0,2850.9,2791.55,2832.0,2825.95,955461.0,26987.31 90 | 2011-11-08,2815.05,2848.0,2790.85,2840.5,2842.1,763417.0,21544.65 91 | 2011-11-09,2845.0,2867.25,2825.0,2826.0,2835.3,834956.0,23743.32 92 | 2011-11-11,2610.7,2807.7,2610.7,2775.0,2775.7,1180153.0,32836.3 93 | 2011-11-14,2810.15,2832.4,2798.0,2814.0,2808.8,579130.0,16294.66 94 | 2011-11-15,2800.1,2820.0,2781.55,2786.5,2798.3,637253.0,17862.56 95 | 2011-11-16,2795.0,2804.0,2758.3,2794.35,2778.3,819081.0,22842.19 96 | 2011-11-17,2768.3,2789.0,2732.9,2752.0,2753.5,795873.0,21941.45 97 | 2011-11-18,2731.05,2764.45,2720.0,2742.9,2740.8,592237.0,16235.98 98 | 2011-11-21,2720.0,2734.85,2626.3,2630.0,2670.1,1170724.0,31594.68 99 | 2011-11-22,2600.0,2764.9,2600.0,2722.0,2724.0,1857439.0,50412.0 100 | 2011-11-23,2675.0,2689.55,2617.35,2655.0,2652.65,1599102.0,42488.32 101 | 2011-11-24,2641.0,2684.0,2586.6,2659.8,2666.2,1653972.0,43464.68 102 | 2011-11-25,2655.0,2655.0,2591.0,2593.0,2599.7,1002816.0,26210.95 103 | 2011-11-28,2620.05,2649.9,2612.45,2640.0,2636.15,911276.0,23953.4 104 | 2011-11-29,2622.2,2628.05,2581.25,2600.0,2597.95,1332421.0,34645.75 105 | 2011-11-30,2581.0,2625.0,2561.0,2622.0,2606.85,1455029.0,37826.16 106 | 2011-12-01,2674.0,2690.85,2630.6,2647.15,2655.35,1015651.0,27037.34 107 | 2011-12-02,2651.0,2715.45,2647.9,2712.0,2694.15,1181426.0,31721.55 108 | 2011-12-05,2690.0,2717.75,2675.2,2710.1,2701.15,933523.0,25169.49 109 | 2011-12-07,2705.0,2772.4,2684.05,2757.1,2758.95,1008799.0,27743.51 110 | 2011-12-08,2747.0,2758.0,2696.1,2717.5,2723.45,911948.0,24850.75 111 | 2011-12-09,2668.15,2739.8,2660.2,2705.85,2710.3,1321344.0,35695.8 112 | 2011-12-12,2719.9,2756.0,2697.8,2738.0,2740.25,1378225.0,37596.22 113 | 2011-12-13,2731.3,2764.9,2708.7,2750.0,2752.2,1206042.0,33110.23 114 | 2011-12-14,2750.0,2767.25,2725.0,2746.9,2740.25,1232204.0,33848.75 115 | 2011-12-15,2726.3,2734.35,2665.0,2720.65,2716.35,1256646.0,33984.77 116 | 2011-12-16,2695.0,2788.8,2691.95,2722.0,2724.5,1708661.0,46684.93 117 | 2011-12-19,2690.0,2703.55,2655.8,2672.0,2676.4,1508054.0,40392.89 118 | 2011-12-20,2690.0,2698.15,2651.1,2676.0,2668.75,1310576.0,35075.06 119 | 2011-12-21,2719.0,2754.8,2680.0,2748.0,2743.0,1052865.0,28573.78 120 | 2011-12-22,2650.0,2748.0,2650.0,2710.2,2720.85,1588392.0,42767.06 121 | 2011-12-23,2740.0,2740.0,2683.25,2697.95,2694.75,880662.0,23797.5 122 | 2011-12-26,2691.0,2787.0,2691.0,2780.05,2775.85,529571.0,14564.59 123 | 2011-12-27,2765.0,2799.0,2736.25,2750.0,2759.4,772275.0,21385.46 124 | 2011-12-28,2769.0,2804.0,2751.55,2776.95,2782.0,856406.0,23788.37 125 | 2011-12-29,2758.0,2774.9,2731.05,2740.0,2742.1,1104646.0,30417.1 126 | 2011-12-30,2744.0,2775.0,2741.5,2757.25,2767.65,663602.0,18324.78 127 | -------------------------------------------------------------------------------- /Historical data/2012/INFRATEL-2012.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2012-12-28,200.0,200.85,188.65,191.0,191.65,35351056.0,68601.0 3 | 2012-12-31,191.85,195.5,188.25,193.65,193.7,6021827.0,11652.56 4 | -------------------------------------------------------------------------------- /Historical data/2013/IBULHSGFIN-2013.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2013-07-23,290.0,290.0,275.5,288.9,285.25,703001.0,1951.66 3 | 2013-07-24,285.0,285.0,271.0,271.0,271.0,193768.0,526.13 4 | 2013-07-25,265.0,265.0,257.45,257.45,257.45,35086.0,90.38 5 | 2013-07-26,244.6,244.6,244.6,244.6,244.6,56142.0,137.32 6 | 2013-07-29,233.0,234.15,232.4,232.4,232.4,396037.0,920.43 7 | 2013-07-30,220.8,220.8,220.8,220.8,220.8,14543.0,32.11 8 | 2013-07-31,209.8,209.8,209.8,209.8,209.8,39171.0,82.18 9 | 2013-08-01,193.65,213.95,193.65,202.1,204.65,1474002.0,2957.12 10 | 2013-08-02,201.0,209.3,194.45,205.25,205.25,424512.0,856.55 11 | 2013-08-05,212.0,212.0,199.0,207.0,205.95,242571.0,495.85 12 | 2013-08-06,204.0,204.0,186.1,202.5,198.55,395623.0,775.14 13 | 2013-08-07,198.0,204.65,190.75,195.7,196.35,782070.0,1539.18 14 | 2013-08-08,193.1,198.9,193.1,196.05,195.1,882982.0,1724.82 15 | 2013-08-12,203.5,203.5,191.0,191.0,192.4,367325.0,721.45 16 | 2013-08-13,193.3,197.0,188.1,190.45,191.2,929674.0,1782.88 17 | 2013-08-14,190.2,207.0,188.0,202.6,201.75,604375.0,1169.79 18 | 2013-08-16,204.0,204.0,184.15,190.5,189.1,469024.0,892.41 19 | 2013-08-19,182.2,193.6,182.2,191.25,191.6,177591.0,338.31 20 | 2013-08-20,189.95,192.7,180.5,191.9,189.95,725839.0,1364.83 21 | 2013-08-21,191.0,196.7,186.3,192.0,191.6,134334.0,256.54 22 | 2013-08-22,190.5,196.0,186.25,195.0,193.15,186715.0,357.2 23 | 2013-08-23,196.9,213.7,192.25,210.55,209.75,275549.0,571.54 24 | 2013-08-26,203.0,212.9,201.2,202.0,203.7,209082.0,430.47 25 | 2013-08-27,204.0,204.0,186.3,189.0,192.3,513030.0,980.07 26 | 2013-08-28,190.85,190.85,177.15,183.8,186.05,578741.0,1066.19 27 | 2013-08-29,187.0,197.0,177.0,192.1,193.9,540903.0,1012.67 28 | 2013-08-30,190.0,204.9,183.2,199.0,197.05,851574.0,1622.16 29 | 2013-09-02,197.0,201.15,190.45,192.25,192.8,147231.0,288.53 30 | 2013-09-03,193.5,200.8,183.0,190.7,189.25,453528.0,863.3 31 | 2013-09-04,188.3,193.5,184.05,190.0,189.95,90070.0,171.39 32 | 2013-09-05,197.95,204.7,191.0,202.9,203.2,213263.0,423.47 33 | 2013-09-06,201.7,211.9,200.5,206.0,209.35,149259.0,308.55 34 | 2013-09-10,204.55,218.85,204.55,213.5,211.15,227146.0,481.84 35 | 2013-09-11,216.5,216.5,210.25,213.3,212.9,91692.0,195.1 36 | 2013-09-12,217.0,217.0,205.3,205.95,207.05,102150.0,214.84 37 | 2013-09-13,207.8,210.95,200.4,209.3,209.35,155509.0,324.31 38 | 2013-09-16,211.0,212.05,203.1,211.8,210.75,119883.0,250.65 39 | 2013-09-17,204.25,210.0,204.25,207.0,208.2,31773.0,66.05 40 | 2013-09-18,209.75,210.85,200.25,201.95,203.55,143043.0,290.34 41 | 2013-09-19,208.0,231.9,206.1,224.0,225.45,694866.0,1542.52 42 | 2013-09-20,224.95,224.95,201.0,215.0,214.1,1332786.0,2820.46 43 | 2013-09-23,210.0,213.35,190.35,190.5,192.25,868156.0,1706.17 44 | 2013-09-24,193.75,195.8,178.35,180.5,180.85,862283.0,1592.86 45 | 2013-09-25,180.0,185.0,165.25,179.1,180.55,1517711.0,2710.31 46 | 2013-09-26,180.0,187.35,180.0,182.3,183.05,519650.0,950.36 47 | 2013-09-27,184.8,184.9,180.35,181.75,181.65,192264.0,349.47 48 | 2013-09-30,180.0,184.0,175.4,181.0,182.85,280838.0,507.78 49 | 2013-10-01,180.1,187.95,180.1,186.0,186.85,447744.0,824.13 50 | 2013-10-03,186.0,203.7,185.25,197.65,198.9,310106.0,606.33 51 | 2013-10-04,198.9,199.0,194.15,194.7,195.15,115050.0,225.57 52 | 2013-10-07,195.45,201.4,188.5,198.0,198.6,342360.0,660.07 53 | 2013-10-08,199.7,203.4,192.55,193.35,194.15,226287.0,445.87 54 | 2013-10-09,193.4,198.55,189.3,195.0,196.5,900576.0,1721.45 55 | 2013-10-10,196.8,198.9,192.5,192.55,194.15,131599.0,258.14 56 | 2013-10-11,194.8,198.95,194.2,195.5,195.7,1274096.0,2496.17 57 | 2013-10-14,196.0,200.0,194.25,197.0,197.0,221542.0,436.25 58 | 2013-10-15,197.0,201.0,187.05,187.45,188.55,360440.0,696.29 59 | 2013-10-17,188.5,194.3,188.5,194.3,192.35,295532.0,564.61 60 | 2013-10-18,193.75,195.4,188.6,190.95,190.3,665999.0,1277.43 61 | 2013-10-21,190.95,194.9,189.1,189.5,189.7,313845.0,601.94 62 | 2013-10-22,191.4,195.8,189.05,192.0,193.2,1709860.0,3283.42 63 | 2013-10-23,194.0,199.7,187.2,189.0,190.9,2298436.0,4431.31 64 | 2013-10-24,191.85,208.65,189.1,199.5,198.6,4722170.0,9386.77 65 | 2013-10-25,199.65,208.4,199.0,206.9,206.75,1123254.0,2297.44 66 | 2013-10-28,207.1,208.6,201.7,202.9,202.85,549169.0,1128.33 67 | 2013-10-29,203.0,219.9,202.1,217.0,218.25,1405705.0,2988.04 68 | 2013-10-30,217.6,224.0,212.0,222.7,222.15,643391.0,1414.92 69 | 2013-10-31,216.0,217.95,210.1,212.9,213.8,714208.0,1533.57 70 | 2013-11-01,215.9,218.4,208.65,213.0,213.55,869870.0,1860.7 71 | 2013-11-03,215.0,219.3,214.0,215.8,217.65,230297.0,499.77 72 | 2013-11-05,217.85,229.0,212.0,227.0,225.7,837432.0,1859.68 73 | 2013-11-06,226.05,230.0,223.0,226.8,226.65,554943.0,1259.38 74 | 2013-11-07,227.0,227.0,212.35,216.0,217.35,1043955.0,2288.67 75 | 2013-11-08,217.0,220.0,212.05,217.3,217.1,386972.0,842.91 76 | 2013-11-11,217.0,220.0,208.0,213.9,214.4,635550.0,1358.73 77 | 2013-11-12,215.0,218.3,208.35,209.7,210.8,271925.0,583.83 78 | 2013-11-13,209.25,214.0,207.2,213.0,212.3,389276.0,821.37 79 | 2013-11-14,213.05,219.7,213.0,216.0,215.6,280922.0,609.11 80 | 2013-11-18,216.65,219.9,215.35,218.5,217.8,285260.0,622.19 81 | 2013-11-19,218.0,226.2,216.3,226.0,223.85,666381.0,1473.74 82 | 2013-11-20,226.5,229.5,217.55,223.0,220.5,428182.0,957.38 83 | 2013-11-21,222.3,238.05,215.1,224.5,223.4,963290.0,2196.22 84 | 2013-11-22,224.0,231.3,221.6,226.0,224.9,324205.0,733.91 85 | 2013-11-25,226.75,231.65,223.2,225.5,225.65,373021.0,845.73 86 | 2013-11-26,227.1,227.1,221.05,221.8,222.5,329848.0,737.96 87 | 2013-11-27,222.85,224.3,218.0,219.8,219.2,156796.0,344.81 88 | 2013-11-28,220.75,227.9,218.55,219.35,219.8,371123.0,823.84 89 | 2013-11-29,220.75,224.75,219.8,223.25,223.45,432443.0,965.54 90 | 2013-12-02,224.65,237.7,223.5,234.0,234.4,657160.0,1521.92 91 | 2013-12-03,233.5,236.5,227.5,230.85,231.0,464869.0,1077.07 92 | 2013-12-04,229.9,232.3,221.9,222.2,223.6,284208.0,642.79 93 | 2013-12-05,227.7,227.7,218.5,219.5,220.65,1002831.0,2234.98 94 | 2013-12-06,218.1,222.4,215.0,215.75,216.45,367200.0,799.93 95 | 2013-12-09,220.0,223.9,215.6,219.1,221.2,305997.0,674.54 96 | 2013-12-10,221.95,236.7,218.05,236.0,234.55,1370929.0,3169.69 97 | 2013-12-11,236.0,236.0,226.1,227.0,227.75,274030.0,629.49 98 | 2013-12-12,225.75,234.95,223.5,232.3,232.25,406719.0,938.17 99 | 2013-12-13,226.1,232.5,223.0,224.7,223.9,159790.0,362.21 100 | 2013-12-16,221.25,227.5,221.0,225.3,225.35,91377.0,205.68 101 | 2013-12-17,226.6,229.0,218.25,221.6,221.1,138729.0,308.28 102 | 2013-12-18,221.5,225.8,220.25,224.0,223.45,157073.0,351.3 103 | 2013-12-19,224.6,225.7,216.7,217.25,217.5,258561.0,567.89 104 | 2013-12-20,217.75,226.9,217.25,225.0,225.0,404864.0,896.87 105 | 2013-12-23,225.5,243.5,225.5,240.75,239.9,688839.0,1634.57 106 | 2013-12-24,242.0,251.75,240.55,243.9,244.8,578960.0,1423.34 107 | 2013-12-26,245.0,246.8,238.05,242.0,243.4,184134.0,446.66 108 | 2013-12-27,244.0,245.05,238.2,243.95,243.95,164783.0,399.31 109 | 2013-12-30,240.1,243.6,234.75,240.0,239.4,363318.0,863.18 110 | 2013-12-31,237.05,244.3,236.0,237.9,238.45,226398.0,542.33 111 | -------------------------------------------------------------------------------- /Historical data/2013/UPL-2013.csv: -------------------------------------------------------------------------------- 1 | Date,Open,High,Low,Last,Close,Total Trade Quantity,Turnover (Lacs) 2 | 2013-10-23,155.7,158.75,151.1,153.25,153.8,2030335.0,3151.36 3 | 2013-10-24,154.0,158.2,149.55,154.15,154.75,2112650.0,3248.86 4 | 2013-10-25,153.9,157.2,150.55,155.8,156.55,826848.0,1277.14 5 | 2013-10-28,157.0,157.0,152.5,153.2,154.55,782577.0,1214.31 6 | 2013-10-29,154.9,158.25,151.1,157.6,157.3,897462.0,1388.16 7 | 2013-10-30,157.25,161.9,156.05,160.0,159.9,1480188.0,2360.63 8 | 2013-10-31,161.2,165.0,159.3,164.1,164.5,1601117.0,2613.55 9 | 2013-11-01,164.0,167.6,162.1,166.3,164.85,1503671.0,2474.26 10 | 2013-11-03,165.6,168.0,165.6,166.9,167.1,240528.0,401.77 11 | 2013-11-05,164.1,170.3,164.1,167.1,166.95,1701287.0,2846.0 12 | 2013-11-06,166.0,172.6,165.2,172.0,171.95,1828842.0,3089.12 13 | 2013-11-07,172.0,175.5,166.75,167.3,167.75,2015569.0,3464.76 14 | 2013-11-08,167.45,171.7,165.75,167.8,167.9,1075489.0,1816.15 15 | 2013-11-11,168.95,169.45,165.0,165.0,165.55,525003.0,876.02 16 | 2013-11-12,165.0,170.7,164.6,167.0,167.65,1846125.0,3112.09 17 | 2013-11-13,164.55,168.9,164.55,165.7,166.55,891002.0,1483.83 18 | 2013-11-14,166.5,170.5,166.4,168.95,169.0,2353294.0,3980.69 19 | 2013-11-18,169.3,173.8,168.6,170.6,170.3,679780.0,1164.91 20 | 2013-11-19,171.0,171.4,165.5,167.4,166.7,670880.0,1124.7 21 | 2013-11-20,164.55,167.25,160.5,161.35,162.1,1007683.0,1640.26 22 | 2013-11-21,161.8,164.2,160.95,163.0,162.75,1081121.0,1759.83 23 | 2013-11-22,163.0,164.95,157.0,157.75,158.05,693997.0,1116.75 24 | 2013-11-25,159.0,160.75,155.55,159.1,159.25,946170.0,1493.04 25 | 2013-11-26,157.1,163.2,157.1,161.7,162.0,801118.0,1289.57 26 | 2013-11-27,159.05,168.5,159.05,168.45,167.75,1085018.0,1789.16 27 | 2013-11-28,169.1,170.7,165.65,167.55,168.65,3258719.0,5493.11 28 | 2013-11-29,168.5,168.8,166.2,166.9,167.1,509294.0,852.11 29 | 2013-12-02,167.8,170.0,166.25,166.9,166.95,762415.0,1279.3 30 | 2013-12-03,165.45,169.5,163.35,163.6,163.8,976084.0,1624.83 31 | 2013-12-04,163.05,167.0,161.1,162.05,161.95,1307451.0,2147.03 32 | 2013-12-05,164.0,167.45,164.0,165.75,165.9,1107219.0,1839.62 33 | 2013-12-06,166.0,171.4,165.85,170.0,169.55,2431700.0,4112.8 34 | 2013-12-09,171.0,175.0,168.55,175.0,174.35,1963344.0,3380.94 35 | 2013-12-10,176.0,181.0,175.1,179.8,179.1,2816745.0,5039.81 36 | 2013-12-11,180.0,184.7,178.55,184.1,183.85,2333589.0,4239.6 37 | 2013-12-12,183.2,186.45,179.25,180.05,180.0,3064898.0,5630.98 38 | 2013-12-13,179.0,180.1,171.1,174.45,173.1,2522146.0,4420.57 39 | 2013-12-16,173.1,180.25,173.1,178.3,178.0,1465158.0,2606.82 40 | 2013-12-17,178.3,183.15,174.05,177.3,176.95,1717044.0,3060.57 41 | 2013-12-18,177.25,179.5,175.8,176.75,176.95,3394055.0,6025.0 42 | 2013-12-19,176.95,178.5,172.9,174.25,174.7,2777460.0,4847.09 43 | 2013-12-20,174.5,188.55,173.5,185.5,185.65,3180957.0,5845.47 44 | 2013-12-23,184.05,190.6,183.1,189.3,188.85,1659020.0,3103.88 45 | 2013-12-24,190.8,193.75,186.05,186.25,187.45,1655886.0,3137.8 46 | 2013-12-26,186.95,190.8,183.55,190.4,189.65,1704150.0,3196.63 47 | 2013-12-27,190.0,194.8,190.0,194.0,193.6,1350394.0,2606.91 48 | 2013-12-30,194.1,198.35,192.25,196.85,196.55,2917239.0,5714.35 49 | 2013-12-31,198.7,200.4,196.5,197.7,197.95,1027434.0,2037.12 50 | -------------------------------------------------------------------------------- /Historical data/Nifty50list.csv: -------------------------------------------------------------------------------- 1 | Company Name,Industry,Symbol,Series,ISIN Code 2 | Adani Ports and Special Economic Zone Ltd.,SERVICES,ADANIPORTS,EQ,INE742F01042 3 | Asian Paints Ltd.,CONSUMER GOODS,ASIANPAINT,EQ,INE021A01026 4 | Axis Bank Ltd.,FINANCIAL SERVICES,AXISBANK,EQ,INE238A01034 5 | Bajaj Auto Ltd.,AUTOMOBILE,BAJAJ-AUTO,EQ,INE917I01010 6 | Bajaj Finance Ltd.,FINANCIAL SERVICES,BAJFINANCE,EQ,INE296A01024 7 | Bajaj Finserv Ltd.,FINANCIAL SERVICES,BAJAJFINSV,EQ,INE918I01018 8 | Bharat Petroleum Corporation Ltd.,ENERGY,BPCL,EQ,INE029A01011 9 | Bharti Airtel Ltd.,TELECOM,BHARTIARTL,EQ,INE397D01024 10 | Bharti Infratel Ltd.,TELECOM,INFRATEL,EQ,INE121J01017 11 | Cipla Ltd.,PHARMA,CIPLA,EQ,INE059A01026 12 | Coal India Ltd.,METALS,COALINDIA,EQ,INE522F01014 13 | Dr. Reddy's Laboratories Ltd.,PHARMA,DRREDDY,EQ,INE089A01023 14 | Eicher Motors Ltd.,AUTOMOBILE,EICHERMOT,EQ,INE066A01013 15 | GAIL (India) Ltd.,ENERGY,GAIL,EQ,INE129A01019 16 | Grasim Industries Ltd.,CEMENT & CEMENT PRODUCTS,GRASIM,EQ,INE047A01021 17 | HCL Technologies Ltd.,IT,HCLTECH,EQ,INE860A01027 18 | HDFC Bank Ltd.,FINANCIAL SERVICES,HDFCBANK,EQ,INE040A01026 19 | Hero MotoCorp Ltd.,AUTOMOBILE,HEROMOTOCO,EQ,INE158A01026 20 | Hindalco Industries Ltd.,METALS,HINDALCO,EQ,INE038A01020 21 | Hindustan Petroleum Corporation Ltd.,ENERGY,HINDPETRO,EQ,INE094A01015 22 | Hindustan Unilever Ltd.,CONSUMER GOODS,HINDUNILVR,EQ,INE030A01027 23 | Housing Development Finance Corporation Ltd.,FINANCIAL SERVICES,HDFC,EQ,INE001A01036 24 | I T C Ltd.,CONSUMER GOODS,ITC,EQ,INE154A01025 25 | ICICI Bank Ltd.,FINANCIAL SERVICES,ICICIBANK,EQ,INE090A01021 26 | Indiabulls Housing Finance Ltd.,FINANCIAL SERVICES,IBULHSGFIN,EQ,INE148I01020 27 | Indian Oil Corporation Ltd.,ENERGY,IOC,EQ,INE242A01010 28 | IndusInd Bank Ltd.,FINANCIAL SERVICES,INDUSINDBK,EQ,INE095A01012 29 | Infosys Ltd.,IT,INFY,EQ,INE009A01021 30 | JSW Steel Ltd.,METALS,JSWSTEEL,EQ,INE019A01038 31 | Kotak Mahindra Bank Ltd.,FINANCIAL SERVICES,KOTAKBANK,EQ,INE237A01028 32 | Larsen & Toubro Ltd.,CONSTRUCTION,LT,EQ,INE018A01030 33 | Mahindra & Mahindra Ltd.,AUTOMOBILE,M&M,EQ,INE101A01026 34 | Maruti Suzuki India Ltd.,AUTOMOBILE,MARUTI,EQ,INE585B01010 35 | NTPC Ltd.,ENERGY,NTPC,EQ,INE733E01010 36 | Oil & Natural Gas Corporation Ltd.,ENERGY,ONGC,EQ,INE213A01029 37 | Power Grid Corporation of India Ltd.,ENERGY,POWERGRID,EQ,INE752E01010 38 | Reliance Industries Ltd.,ENERGY,RELIANCE,EQ,INE002A01018 39 | State Bank of India,FINANCIAL SERVICES,SBIN,EQ,INE062A01020 40 | Sun Pharmaceutical Industries Ltd.,PHARMA,SUNPHARMA,EQ,INE044A01036 41 | Tata Consultancy Services Ltd.,IT,TCS,EQ,INE467B01029 42 | Tata Motors Ltd.,AUTOMOBILE,TATAMOTORS,EQ,INE155A01022 43 | Tata Steel Ltd.,METALS,TATASTEEL,EQ,INE081A01012 44 | Tech Mahindra Ltd.,IT,TECHM,EQ,INE669C01036 45 | Titan Company Ltd.,CONSUMER GOODS,TITAN,EQ,INE280A01028 46 | UPL Ltd.,FERTILISERS & PESTICIDES,UPL,EQ,INE628A01036 47 | UltraTech Cement Ltd.,CEMENT & CEMENT PRODUCTS,ULTRACEMCO,EQ,INE481G01011 48 | Vedanta Ltd.,METALS,VEDL,EQ,INE205A01025 49 | Wipro Ltd.,IT,WIPRO,EQ,INE075A01022 50 | Yes Bank Ltd.,FINANCIAL SERVICES,YESBANK,EQ,INE528G01027 51 | Zee Entertainment Enterprises Ltd.,MEDIA & ENTERTAINMENT,ZEEL,EQ,INE256A01028 52 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018 Vrishank Bhardwaj 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /MANIFEST: -------------------------------------------------------------------------------- 1 | # file GENERATED by distutils, do NOT edit 2 | setup.py 3 | algotrader/__init__.py 4 | algotrader/backtest.py 5 | algotrader/evaluation.py 6 | algotrader/scraper.py 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AlgoTrading 2 | Python Implementations of popular Algorithmic Trading Strategies, along with genetic algorithms for tuning parameters based on historical data. 3 | 4 | ## Algorithms - 5 | 1. CCI Correction (Done) 6 | 2. Stochastic Pop and Drop (Done) 7 | 3. Percent Above 50-day SMA (Done) 8 | 4. Moving Momentum (Done) 9 | 5. Exponential Moving Averages (Done) 10 | 6. Double Exponential Moving Averages (Done) 11 | 7. Triple Exponential Moving Averages (Done) 12 | 8. Six-Month Cycle MACD (Done) 13 | 9. Gap Trading Strategies 14 | 10. Harmonic Patterns 15 | 11. The Last Stochastic Technique 16 | 12. Percent B Money Flow 17 | 13. Pre-Holiday Effect 18 | 14. RSI2 19 | 15. Faber’s Sector rotation Trading Strategy 20 | 16. CVR3 VIX Market Timing 21 | 17. Slope Performance Trend 22 | 18. Swing Charting 23 | 19. Ichimoku Cloud 24 | 20. Trend Quantification and Asset Allocation 25 | -------------------------------------------------------------------------------- /__pycache__/BaseAgent.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/__pycache__/BaseAgent.cpython-36.pyc -------------------------------------------------------------------------------- /__pycache__/backtest.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/__pycache__/backtest.cpython-36.pyc -------------------------------------------------------------------------------- /__pycache__/sma_agent.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/__pycache__/sma_agent.cpython-36.pyc -------------------------------------------------------------------------------- /algotrader.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 2.1 2 | Name: algotrader 3 | Version: 0.1.dev0 4 | Summary: Python implementations of commonly used trading algorithms 5 | Home-page: https://github.com/vrishank97/AlgoTrading 6 | Author: Vrishank Bhardwaj 7 | Author-email: vrishank1997@gmail.com 8 | License: UNKNOWN 9 | Description: # AlgoTrading 10 | Python Implementations of popular Algorithmic Trading Strategies, along with genetic algorithms for tuning parameters based on historical data. 11 | 12 | ## Algorithms - 13 | 1. CCI Correction (Done) 14 | 2. Stochastic Pop and Drop (Done) 15 | 3. Percent Above 50-day SMA (Done) 16 | 4. Moving Momentum (Done) 17 | 5. Exponential Moving Averages (Done) 18 | 6. Double Exponential Moving Averages (Done) 19 | 7. Triple Exponential Moving Averages (Done) 20 | 8. Six-Month Cycle MACD (Done) 21 | 9. Gap Trading Strategies 22 | 10. Harmonic Patterns 23 | 11. The Last Stochastic Technique 24 | 12. Percent B Money Flow 25 | 13. Pre-Holiday Effect 26 | 14. RSI2 27 | 15. Faber’s Sector rotation Trading Strategy 28 | 16. CVR3 VIX Market Timing 29 | 17. Slope Performance Trend 30 | 18. Swing Charting 31 | 19. Ichimoku Cloud 32 | 20. Trend Quantification and Asset Allocation 33 | 34 | Platform: UNKNOWN 35 | Classifier: Programming Language :: Python :: 3 36 | Classifier: License :: OSI Approved :: MIT License 37 | Classifier: Operating System :: OS Independent 38 | Description-Content-Type: text/markdown 39 | -------------------------------------------------------------------------------- /algotrader.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | README.md 2 | setup.py 3 | algotrader/__init__.py 4 | algotrader/backtest.py 5 | algotrader/evaluation.py 6 | algotrader/scraper.py 7 | algotrader.egg-info/PKG-INFO 8 | algotrader.egg-info/SOURCES.txt 9 | algotrader.egg-info/dependency_links.txt 10 | algotrader.egg-info/top_level.txt 11 | algotrader/agents/BaseAgent.py 12 | algotrader/agents/__init__.py 13 | algotrader/agents/cci_agent.py 14 | algotrader/agents/dema_agent.py 15 | algotrader/agents/ema_agent.py 16 | algotrader/agents/momentum_agent.py 17 | algotrader/agents/six_month_cycle_agent.py 18 | algotrader/agents/sma_agent.py 19 | algotrader/agents/tema_agent.py 20 | algotrader/dask-agents/BaseDaskAgent.py 21 | algotrader/dask-agents/__init__.py 22 | algotrader/dask-agents/dask_sma_agent.py 23 | tests/__init__.py 24 | tests/genetics.py 25 | tests/optimise.py 26 | tests/test.py 27 | tests/test_backtest.py 28 | tests/test_cci.py 29 | tests/test_dema.py 30 | tests/test_ema.py 31 | tests/test_logging.py 32 | tests/test_momentum.py 33 | tests/test_six_month_cycle.py 34 | tests/test_sma.py 35 | tests/test_tema.py -------------------------------------------------------------------------------- /algotrader.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /algotrader.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | algotrader 2 | tests 3 | -------------------------------------------------------------------------------- /algotrading/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/__init__.py -------------------------------------------------------------------------------- /algotrading/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/__pycache__/backtest.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/__pycache__/backtest.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/__pycache__/evaluation.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/__pycache__/evaluation.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/__pycache__/optimise.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/__pycache__/optimise.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/agents/BaseAgent.py: -------------------------------------------------------------------------------- 1 | from collections import deque 2 | 3 | class BaseAgent: 4 | def __init__(self, window_size): 5 | self.memory = deque(maxlen=window_size) 6 | 7 | def deep_reset(self, stock_price, ticker): 8 | self.ticker = ticker 9 | self.memory = deque(maxlen=1000) 10 | 11 | def reset_memory(self): 12 | self.memory = deque(maxlen=1000) -------------------------------------------------------------------------------- /algotrading/agents/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/agents/__init__.py -------------------------------------------------------------------------------- /algotrading/agents/__pycache__/BaseAgent.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/agents/__pycache__/BaseAgent.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/agents/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/agents/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/agents/__pycache__/cci_agent.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/agents/__pycache__/cci_agent.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/agents/__pycache__/dema_agent.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/agents/__pycache__/dema_agent.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/agents/__pycache__/ema_agent.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/agents/__pycache__/ema_agent.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/agents/__pycache__/momentum_agent.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/agents/__pycache__/momentum_agent.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/agents/__pycache__/six_month_cycle_agent.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/agents/__pycache__/six_month_cycle_agent.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/agents/__pycache__/sma_agent.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/agents/__pycache__/sma_agent.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/agents/__pycache__/tema_agent.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/algotrading/agents/__pycache__/tema_agent.cpython-36.pyc -------------------------------------------------------------------------------- /algotrading/agents/cci_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | 6 | class CCI_Agent(BaseAgent): 7 | def __init__(self, window_size, up, down): 8 | super().__init__(window_size) 9 | self.up = up 10 | self.down = down 11 | self.window_size = window_size 12 | 13 | def step(self, price): 14 | self.memory.append(price) 15 | if len(self.memory)100): 22 | return 1 23 | 24 | # Sell 25 | if(CCI<(-100)): 26 | return -1 27 | 28 | # Hold 29 | return 0 -------------------------------------------------------------------------------- /algotrading/agents/dema_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | from collections import deque 6 | 7 | class DEMA_Agent(BaseAgent): 8 | def __init__(self, window_size, up, down): 9 | super().__init__(window_size) 10 | self.window_size = window_size 11 | self.multiplier = 2/(window_size + 1) 12 | self.running_ema = 0 13 | self.up = up 14 | self.down = down 15 | self.running_dema_memory = deque(maxlen=window_size) 16 | self.running_dema = 0 17 | self.running_dema_memory.append(0) 18 | 19 | 20 | def step(self, price): 21 | self.memory.append(price) 22 | 23 | if len(self.memory)= DEMA*(1-self.down)): 44 | return 1 45 | 46 | # Sell 47 | if(price <= DEMA*(1+self.up)): 48 | return -1 49 | 50 | # Hold 51 | return 0 -------------------------------------------------------------------------------- /algotrading/agents/ema_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | 6 | class EMA_Agent(BaseAgent): 7 | def __init__(self, window_size, up, down): 8 | super().__init__(window_size) 9 | self.window_size = window_size 10 | self.multiplier = 2/(window_size + 1) 11 | self.running_ema = 0 12 | self.up = up 13 | self.down = down 14 | 15 | 16 | def step(self, price): 17 | self.memory.append(price) 18 | 19 | if len(self.memory)= self.running_ema*(1-self.down)): 29 | return 1 30 | 31 | # Sell 32 | if(price <= self.running_ema*(1+self.up)): 33 | return -1 34 | 35 | # Hold 36 | return 0 -------------------------------------------------------------------------------- /algotrading/agents/momentum_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | from itertools import islice 6 | from collections import deque 7 | 8 | ''' 9 | Parameters for the Moving Momentum algorithm: 10 | 1. Small SMA (default 20) 11 | 2. Large SMA (default 150) 12 | 3. Stochastic oscillator sensitivity (default 14) 13 | 4. Stochastic oscillator oversold threshold (default below 20) 14 | 5. Stochastic oscillator overbought threshold (default above 80) 15 | 6. Small EMA (default 12) 16 | 7. Large EMA (default 26) 17 | 8. Signal Line (default 9) 18 | ''' 19 | 20 | class Momentum_Agent(BaseAgent): 21 | def __init__(self, window_size, small_sma=20, large_sma=150, stoch_osc_days=14, stoch_osc_oversold=20, stoch_osc_overbought=80, small_ema=12, large_ema=26, signal_ema=9): 22 | super().__init__(window_size) 23 | self.window_size = window_size 24 | self.small_sma = small_sma 25 | self.large_sma = large_sma 26 | self.stoch_osc_days = stoch_osc_days 27 | self.stoch_osc_oversold = stoch_osc_oversold 28 | self.stoch_osc_overbought = stoch_osc_overbought 29 | self.small_ema = small_ema 30 | self.large_ema = large_ema 31 | self.signal_ema = signal_ema 32 | self.running_ema_small = 0 33 | self.running_ema_large = 0 34 | self.running_ema_signal = 0 35 | 36 | self.multiplier_small = 2/(small_ema + 1) 37 | self.multiplier_large = 2/(large_ema + 1) 38 | self.multiplier_signal = 2/(signal_ema + 1) 39 | 40 | self.macd_memory = deque(maxlen=self.signal_ema) 41 | 42 | def get_sma(self, window): 43 | memory_slice = list(islice(self.memory, self.window_size - window, self.window_size)) 44 | return np.mean(memory_slice) 45 | 46 | def get_stoch_osc(self, days): 47 | memory_slice = list(islice(self.memory, self.window_size - days, self.window_size)) 48 | min_price = np.min(memory_slice) 49 | max_price = np.max(memory_slice) 50 | curr_price = memory_slice[-1] 51 | 52 | return ((curr_price - min_price)*100)/(max_price - min_price) 53 | 54 | def get_macd_hist(self, small, large, signal, price): 55 | memory_slice = list(islice(self.memory, self.window_size - large, self.window_size)) 56 | memory_slice = pd.DataFrame(memory_slice) 57 | 58 | #print(price, self.running_ema_small,self.running_ema_large, self.running_ema_signal) 59 | ''' 60 | runnner_small = None 61 | runner_large = None 62 | runner_signal = None 63 | 64 | if(self.running_ema_small == 0): 65 | runner_small = self.get_sma(small) 66 | else: 67 | runner_small = self.running_ema_small 68 | 69 | if(self.running_ema_large == 0): 70 | runner_large = self.get_sma(large) 71 | else: 72 | runner_large = self.running_ema_large 73 | 74 | if(self.running_ema_signal == 0 and len(self.macd_memory) > 0): 75 | runner_signal = np.mean(self.macd_memory) 76 | else: 77 | runner_signal = self.running_ema_signal 78 | 79 | self.running_ema_small = (price - runner_small)*self.multiplier_small + runner_small 80 | self.running_ema_large = (price - runner_large)*self.multiplier_large + runner_large 81 | macd = self.running_ema_small - self.running_ema_large 82 | self.running_ema_signal = (macd - runner_signal)*self.multiplier_signal + runner_signal 83 | 84 | ''' 85 | df_memory = pd.DataFrame(memory_slice) 86 | df_macd = df_memory.ewm(span=small, adjust=False).mean() - df_memory.ewm(span=large, adjust=False).mean() 87 | df_macd_hist = df_macd - df_macd.ewm(span=signal, adjust=False).mean() 88 | ''' 89 | self.macd_memory.append(macd) 90 | 91 | if(len(self.macd_memory) < self.signal_ema): 92 | return 0 93 | ''' 94 | #print(len(df_macd_hist)) 95 | return df_macd_hist[0][large - 1] 96 | 97 | def step(self, price): 98 | self.memory.append(price) 99 | 100 | if len(self.memory) 0 and stoch_osc < 20 and macd_hist > 0): 113 | return 1 114 | 115 | # Sell 116 | if(trading_bias < 0 and stoch_osc > 80 and macd_hist < 0): 117 | return -1 118 | 119 | # Hold 120 | return 0 121 | 122 | -------------------------------------------------------------------------------- /algotrading/agents/six_month_cycle_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from itertools import islice 5 | 6 | class SixMonthCycle_Agent(BaseAgent): 7 | def __init__(self, window_size, small, large, signal, up, down): 8 | super().__init__(window_size) 9 | self.up = up 10 | self.down = down 11 | self.large = large 12 | self.small = small 13 | self.signal = signal 14 | self.window_size = window_size 15 | 16 | def get_macd_signal(self): 17 | memory_slice = list(islice(self.memory, self.window_size - self.large, self.window_size)) 18 | memory_slice = pd.DataFrame(memory_slice) 19 | 20 | df_memory = pd.DataFrame(memory_slice) 21 | df_macd = df_memory.ewm(span=self.small, adjust=False).mean() - df_memory.ewm(span=self.large, adjust=False).mean() 22 | signal = df_macd.ewm(span=self.signal, adjust=False).mean()[0][self.large - 1] 23 | 24 | macd = df_macd[0][self.large - 1] 25 | 26 | if macd >= (1 + self.up)*(signal): 27 | return "buy" 28 | elif macd <= (1 - self.down)*(signal): 29 | return "sell" 30 | else: 31 | return "hold" 32 | 33 | 34 | def step(self, price, date): 35 | self.memory.append(price) 36 | 37 | if len(self.memory) 10 or month < 5 and macd_signal == "buy": 47 | return 1 48 | 49 | # Sell in may 50 | if month > 4 and month < 11 and macd_signal == "sell": 51 | return -1 52 | 53 | # Hold 54 | return 0 -------------------------------------------------------------------------------- /algotrading/agents/sma_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | 6 | class SMA_Agent(BaseAgent): 7 | def __init__(self, window_size, up, down): 8 | super().__init__(window_size) 9 | self.up = up 10 | self.down = down 11 | self.window_size = window_size 12 | 13 | def step(self, price): 14 | self.memory.append(price) 15 | if len(self.memory)=np.mean(self.memory)*(1+self.up)): 24 | return -1 25 | 26 | # Hold 27 | return 0 -------------------------------------------------------------------------------- /algotrading/agents/tema_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | from collections import deque 6 | 7 | class TEMA_Agent(BaseAgent): 8 | def __init__(self, window_size, up, down): 9 | super().__init__(window_size) 10 | self.window_size = window_size 11 | self.multiplier = 2/(window_size + 1) 12 | self.running_ema = 0 13 | self.up = up 14 | self.down = down 15 | self.running_dema_memory = deque(maxlen=window_size) 16 | self.running_dema = 0 17 | self.running_dema_memory.append(0) 18 | self.running_tema_memory = deque(maxlen=window_size) 19 | self.running_tema = 0 20 | self.running_tema_memory.append(0) 21 | 22 | 23 | def step(self, price): 24 | self.memory.append(price) 25 | 26 | if len(self.memory)= TEMA*(1-self.down)): 53 | return 1 54 | 55 | # Sell 56 | if(price <= TEMA*(1+self.up)): 57 | return -1 58 | 59 | # Hold 60 | return 0 -------------------------------------------------------------------------------- /algotrading/backtest.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | 3 | class Backtest: 4 | def __init__(self, agent, cash, stock=0, logging=False, ticker=None): 5 | self.agent = agent 6 | self.cash = cash 7 | self.stock = stock 8 | self.logging = logging 9 | self.ticker = ticker 10 | if logging: 11 | if ticker is None: 12 | raise Exception("Ticker not defined. Unable to log records") 13 | from arctic import Arctic 14 | 15 | self.store = Arctic('localhost') 16 | self.store.initialize_library('TransactionLogs') 17 | self.logstore = self.store['TransactionLogs'] 18 | 19 | def getPortfolioVal(self, price): 20 | return int((self.stock*price)+self.cash) 21 | 22 | def buy_all(self, price): 23 | 24 | if(self.cash>price): 25 | # print("Buying %d stocks for %f each" % ((self.cash)//price, price)) 26 | #print("buy at ", price) 27 | self.stock += (self.cash)//price 28 | self.cash -= ((self.cash)//price)*price 29 | 30 | def sell_all(self, price): 31 | if(self.stock>0): 32 | #print("sell at ", price) 33 | #print("Selling %d stocks for %f each" % (self.stock, price)) 34 | self.cash += self.stock*price 35 | self.stock = 0 36 | 37 | def run(self, data, dates=None): 38 | results = [] 39 | sell_count = 0 40 | buy_val = 0 41 | win_count = 0 42 | 43 | for i in range(len(data)): 44 | action = None 45 | if dates is not None: 46 | action = self.agent.step(data[i], dates[i]) 47 | else: 48 | action = self.agent.step(data[i]) 49 | 50 | if action == 1: 51 | # Buy 52 | buy_val = data[i] 53 | self.buy_all(data[i]) 54 | 55 | elif action == -1: 56 | # Sell 57 | sell_count += 1 58 | self.sell_all(data[i]) 59 | if data[i] > buy_val: 60 | win_count += 1 61 | 62 | val = self.getPortfolioVal(data[i]) 63 | 64 | if self.logging: 65 | action_type = None 66 | if action == 0: 67 | action_type = "Hold" 68 | if action == 1: 69 | action_type = "Buy" 70 | if action == -1: 71 | action_type = "Sell" 72 | 73 | d = {'Timestep': i, 'Portfolio Value': val, 'Action': action_type} 74 | df = pd.DataFrame(data = d,index = [i]) 75 | self.logstore.append(self.ticker , df, upsert=True) 76 | 77 | results.append(val) 78 | #print("Portfolio valuation : %f" % (val)) 79 | 80 | if self.stock > 0: 81 | sell_count += 1 82 | if buy_val > 0: 83 | if data[len(data)-1] > buy_val: 84 | win_count += 1 85 | ''' 86 | if sell_count == 0: 87 | print("ZERO SALES") 88 | else: 89 | print("Sell count is ", sell_count, " and win rate is", (100*win_count)/sell_count) 90 | ''' 91 | return results -------------------------------------------------------------------------------- /algotrading/evaluation.py: -------------------------------------------------------------------------------- 1 | import sys 2 | sys.path.append('../') 3 | 4 | import matplotlib.pyplot as plt 5 | import numpy as np 6 | import pandas as pd 7 | 8 | RISK_FREE_RETURN = 0.07 9 | 10 | class Evaluation: 11 | def __init__(self, prices, dates, output, algo, security): 12 | self.prices = prices 13 | self.dates = dates 14 | self.output = output 15 | self.algo = algo 16 | self.security = security 17 | self.risk_free = [] 18 | self.adjusted = None 19 | 20 | def plot_output(self): 21 | scaling_factor = 10000/self.prices[0] 22 | fig, ax = plt.subplots() 23 | ax.plot(np.arange(len(self.prices)), self.output, color='red') 24 | ax.plot(np.arange(len(self.prices)), self.risk_free, color='blue') 25 | ax.plot(np.arange(len(self.prices)), self.prices*scaling_factor, color='green') 26 | 27 | ax.set(xlabel='Days', ylabel='INR', 28 | title='Running %s on %s stocks' % (self.algo, self.security)) 29 | ax.grid() 30 | plt.show() 31 | 32 | def get_days(self, date): 33 | date_form = date.split("-") 34 | 35 | return (int(date_form[1]) - 1)*30 + int(date_form[2]) 36 | 37 | def roi(self): 38 | return (self.output[-1] - self.output[0])/self.output[0] 39 | 40 | def get_adjusted_return(self): 41 | if(self.adjusted is not None): 42 | return self.adjusted 43 | 44 | adjusted = [] 45 | for i in range(len(self.dates)): 46 | days = self.get_days(self.dates[i]) 47 | risk_free = (1 + (days/361)*RISK_FREE_RETURN)*self.output[0] 48 | self.risk_free.append(risk_free) 49 | adjusted.append((self.output[i] - risk_free)/risk_free) 50 | 51 | self.adjusted = adjusted 52 | 53 | return adjusted 54 | 55 | def sharpe_ratio(self): 56 | roi = self.roi() 57 | returns = pd.Series(self.get_adjusted_return()) 58 | #print(returns) 59 | sd = returns.std() 60 | #print(sd) 61 | 62 | #print(roi, sd[0]) 63 | 64 | return (roi - RISK_FREE_RETURN)/sd 65 | 66 | def sortino_ratio(self): 67 | roi = self.roi() 68 | 69 | returns = pd.Series([x for x in self.get_adjusted_return() if x < 0]) 70 | #print(returns) 71 | sd = returns.std() 72 | #print(sd) 73 | 74 | return (roi - RISK_FREE_RETURN)/sd 75 | 76 | def complete_evaluation(self, get_plots=True, verbose=True): 77 | ''' 78 | if verbose is True: 79 | print("Running ", self.algo) 80 | print("The Sharpe Ratio is ", self.sharpe_ratio()) 81 | print("The Sortino Ratio is ", self.sortino_ratio()) 82 | print("The return on investment is(in percentage) ", self.roi()*100) 83 | 84 | if get_plots is True: 85 | self.plot_output() 86 | ''' 87 | return self.sharpe_ratio(), self.sortino_ratio(), self.roi()*100 88 | 89 | -------------------------------------------------------------------------------- /algotrading/scraper.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | import numpy as np 5 | import os 6 | import quandl 7 | 8 | def getNifty(): 9 | nifty_list = pd.read_csv("../Historical data/Nifty50list.csv") 10 | quandl.ApiConfig.api_key = "FDEDsMbK1E2t_PMf7X3M" 11 | 12 | for stock in nifty_list["Symbol"]: 13 | try: 14 | print(stock) 15 | for i in range(2000,2018): 16 | print(i) 17 | df = quandl.get('NSE/'+stock, start_date=str(i)+'-01-01', end_date=str(i)+'-12-31') 18 | if len(df)>0: 19 | df.to_csv("../Historical data/%s/%s-%s.csv" % (i, stock, i)) 20 | except: 21 | print("An exception occurred while retrieving %s" % (stock)) -------------------------------------------------------------------------------- /build/lib/algotrader/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/build/lib/algotrader/__init__.py -------------------------------------------------------------------------------- /build/lib/algotrader/agents/BaseAgent.py: -------------------------------------------------------------------------------- 1 | from collections import deque 2 | 3 | class BaseAgent: 4 | def __init__(self, window_size): 5 | self.memory = deque(maxlen=window_size) 6 | 7 | def deep_reset(self, stock_price, ticker): 8 | self.ticker = ticker 9 | self.memory = deque(maxlen=1000) 10 | 11 | def reset_memory(self): 12 | self.memory = deque(maxlen=1000) -------------------------------------------------------------------------------- /build/lib/algotrader/agents/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/build/lib/algotrader/agents/__init__.py -------------------------------------------------------------------------------- /build/lib/algotrader/agents/cci_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | 6 | class CCI_Agent(BaseAgent): 7 | def __init__(self, window_size, up, down): 8 | super().__init__(window_size) 9 | self.up = up 10 | self.down = down 11 | self.window_size = window_size 12 | 13 | def step(self, price): 14 | self.memory.append(price) 15 | if len(self.memory)100): 22 | return 1 23 | 24 | # Sell 25 | if(CCI<(-100)): 26 | return -1 27 | 28 | # Hold 29 | return 0 -------------------------------------------------------------------------------- /build/lib/algotrader/agents/dema_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | from collections import deque 6 | 7 | class DEMA_Agent(BaseAgent): 8 | def __init__(self, window_size, up, down): 9 | super().__init__(window_size) 10 | self.window_size = window_size 11 | self.multiplier = 2/(window_size + 1) 12 | self.running_ema = 0 13 | self.up = up 14 | self.down = down 15 | self.running_dema_memory = deque(maxlen=window_size) 16 | self.running_dema = 0 17 | self.running_dema_memory.append(0) 18 | 19 | 20 | def step(self, price): 21 | self.memory.append(price) 22 | 23 | if len(self.memory)= DEMA*(1-self.down)): 44 | return 1 45 | 46 | # Sell 47 | if(price <= DEMA*(1+self.up)): 48 | return -1 49 | 50 | # Hold 51 | return 0 -------------------------------------------------------------------------------- /build/lib/algotrader/agents/ema_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | 6 | class EMA_Agent(BaseAgent): 7 | def __init__(self, window_size, up, down): 8 | super().__init__(window_size) 9 | self.window_size = window_size 10 | self.multiplier = 2/(window_size + 1) 11 | self.running_ema = 0 12 | self.up = up 13 | self.down = down 14 | 15 | 16 | def step(self, price): 17 | self.memory.append(price) 18 | 19 | if len(self.memory)= self.running_ema*(1-self.down)): 29 | return 1 30 | 31 | # Sell 32 | if(price <= self.running_ema*(1+self.up)): 33 | return -1 34 | 35 | # Hold 36 | return 0 -------------------------------------------------------------------------------- /build/lib/algotrader/agents/momentum_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | from itertools import islice 6 | from collections import deque 7 | 8 | ''' 9 | Parameters for the Moving Momentum algorithm: 10 | 1. Small SMA (default 20) 11 | 2. Large SMA (default 150) 12 | 3. Stochastic oscillator sensitivity (default 14) 13 | 4. Stochastic oscillator oversold threshold (default below 20) 14 | 5. Stochastic oscillator overbought threshold (default above 80) 15 | 6. Small EMA (default 12) 16 | 7. Large EMA (default 26) 17 | 8. Signal Line (default 9) 18 | ''' 19 | 20 | class Momentum_Agent(BaseAgent): 21 | def __init__(self, window_size, small_sma=20, large_sma=150, stoch_osc_days=14, stoch_osc_oversold=20, stoch_osc_overbought=80, small_ema=12, large_ema=26, signal_ema=9): 22 | super().__init__(window_size) 23 | self.window_size = window_size 24 | self.small_sma = small_sma 25 | self.large_sma = large_sma 26 | self.stoch_osc_days = stoch_osc_days 27 | self.stoch_osc_oversold = stoch_osc_oversold 28 | self.stoch_osc_overbought = stoch_osc_overbought 29 | self.small_ema = small_ema 30 | self.large_ema = large_ema 31 | self.signal_ema = signal_ema 32 | self.running_ema_small = 0 33 | self.running_ema_large = 0 34 | self.running_ema_signal = 0 35 | 36 | self.multiplier_small = 2/(small_ema + 1) 37 | self.multiplier_large = 2/(large_ema + 1) 38 | self.multiplier_signal = 2/(signal_ema + 1) 39 | 40 | self.macd_memory = deque(maxlen=self.signal_ema) 41 | 42 | def get_sma(self, window): 43 | memory_slice = list(islice(self.memory, self.window_size - window, self.window_size)) 44 | return np.mean(memory_slice) 45 | 46 | def get_stoch_osc(self, days): 47 | memory_slice = list(islice(self.memory, self.window_size - days, self.window_size)) 48 | min_price = np.min(memory_slice) 49 | max_price = np.max(memory_slice) 50 | curr_price = memory_slice[-1] 51 | 52 | return ((curr_price - min_price)*100)/(max_price - min_price) 53 | 54 | def get_macd_hist(self, small, large, signal, price): 55 | memory_slice = list(islice(self.memory, self.window_size - large, self.window_size)) 56 | memory_slice = pd.DataFrame(memory_slice) 57 | 58 | #print(price, self.running_ema_small,self.running_ema_large, self.running_ema_signal) 59 | ''' 60 | runnner_small = None 61 | runner_large = None 62 | runner_signal = None 63 | 64 | if(self.running_ema_small == 0): 65 | runner_small = self.get_sma(small) 66 | else: 67 | runner_small = self.running_ema_small 68 | 69 | if(self.running_ema_large == 0): 70 | runner_large = self.get_sma(large) 71 | else: 72 | runner_large = self.running_ema_large 73 | 74 | if(self.running_ema_signal == 0 and len(self.macd_memory) > 0): 75 | runner_signal = np.mean(self.macd_memory) 76 | else: 77 | runner_signal = self.running_ema_signal 78 | 79 | self.running_ema_small = (price - runner_small)*self.multiplier_small + runner_small 80 | self.running_ema_large = (price - runner_large)*self.multiplier_large + runner_large 81 | macd = self.running_ema_small - self.running_ema_large 82 | self.running_ema_signal = (macd - runner_signal)*self.multiplier_signal + runner_signal 83 | 84 | ''' 85 | df_memory = pd.DataFrame(memory_slice) 86 | df_macd = df_memory.ewm(span=small, adjust=False).mean() - df_memory.ewm(span=large, adjust=False).mean() 87 | df_macd_hist = df_macd - df_macd.ewm(span=signal, adjust=False).mean() 88 | ''' 89 | self.macd_memory.append(macd) 90 | 91 | if(len(self.macd_memory) < self.signal_ema): 92 | return 0 93 | ''' 94 | #print(len(df_macd_hist)) 95 | return df_macd_hist[0][large - 1] 96 | 97 | def step(self, price): 98 | self.memory.append(price) 99 | 100 | if len(self.memory) 0 and stoch_osc < 20 and macd_hist > 0): 113 | return 1 114 | 115 | # Sell 116 | if(trading_bias < 0 and stoch_osc > 80 and macd_hist < 0): 117 | return -1 118 | 119 | # Hold 120 | return 0 121 | 122 | -------------------------------------------------------------------------------- /build/lib/algotrader/agents/six_month_cycle_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from itertools import islice 5 | 6 | class SixMonthCycle_Agent(BaseAgent): 7 | def __init__(self, window_size, small, large, signal, up, down): 8 | super().__init__(window_size) 9 | self.up = up 10 | self.down = down 11 | self.large = large 12 | self.small = small 13 | self.signal = signal 14 | self.window_size = window_size 15 | 16 | def get_macd_signal(self): 17 | memory_slice = list(islice(self.memory, self.window_size - self.large, self.window_size)) 18 | memory_slice = pd.DataFrame(memory_slice) 19 | 20 | df_memory = pd.DataFrame(memory_slice) 21 | df_macd = df_memory.ewm(span=self.small, adjust=False).mean() - df_memory.ewm(span=self.large, adjust=False).mean() 22 | signal = df_macd.ewm(span=self.signal, adjust=False).mean()[0][self.large - 1] 23 | 24 | macd = df_macd[0][self.large - 1] 25 | 26 | if macd >= (1 + self.up)*(signal): 27 | return "buy" 28 | elif macd <= (1 - self.down)*(signal): 29 | return "sell" 30 | else: 31 | return "hold" 32 | 33 | 34 | def step(self, price, date): 35 | self.memory.append(price) 36 | 37 | if len(self.memory) 10 or month < 5 and macd_signal == "buy": 47 | return 1 48 | 49 | # Sell in may 50 | if month > 4 and month < 11 and macd_signal == "sell": 51 | return -1 52 | 53 | # Hold 54 | return 0 -------------------------------------------------------------------------------- /build/lib/algotrader/agents/sma_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | 6 | class SMA_Agent(BaseAgent): 7 | def __init__(self, window_size, up, down): 8 | super().__init__(window_size) 9 | self.up = up 10 | self.down = down 11 | self.window_size = window_size 12 | 13 | def step(self, price): 14 | self.memory.append(price) 15 | if len(self.memory)=np.mean(self.memory)*(1+self.up)): 24 | return -1 25 | 26 | # Hold 27 | return 0 -------------------------------------------------------------------------------- /build/lib/algotrader/agents/tema_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseAgent import BaseAgent 2 | import pandas as pd 3 | import numpy as np 4 | from time import time 5 | from collections import deque 6 | 7 | class TEMA_Agent(BaseAgent): 8 | def __init__(self, window_size, up, down): 9 | super().__init__(window_size) 10 | self.window_size = window_size 11 | self.multiplier = 2/(window_size + 1) 12 | self.running_ema = 0 13 | self.up = up 14 | self.down = down 15 | self.running_dema_memory = deque(maxlen=window_size) 16 | self.running_dema = 0 17 | self.running_dema_memory.append(0) 18 | self.running_tema_memory = deque(maxlen=window_size) 19 | self.running_tema = 0 20 | self.running_tema_memory.append(0) 21 | 22 | 23 | def step(self, price): 24 | self.memory.append(price) 25 | 26 | if len(self.memory)= TEMA*(1-self.down)): 53 | return 1 54 | 55 | # Sell 56 | if(price <= TEMA*(1+self.up)): 57 | return -1 58 | 59 | # Hold 60 | return 0 -------------------------------------------------------------------------------- /build/lib/algotrader/backtest.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | 3 | class Backtest: 4 | def __init__(self, agent, cash, stock=0, logging=False, ticker=None): 5 | self.agent = agent 6 | self.cash = cash 7 | self.stock = stock 8 | self.logging = logging 9 | self.ticker = ticker 10 | if logging: 11 | if ticker is None: 12 | raise Exception("Ticker not defined. Unable to log records") 13 | from arctic import Arctic 14 | 15 | self.store = Arctic('localhost') 16 | self.store.initialize_library('TransactionLogs') 17 | self.logstore = self.store['TransactionLogs'] 18 | 19 | def getPortfolioVal(self, price): 20 | return int((self.stock*price)+self.cash) 21 | 22 | def buy_all(self, price): 23 | 24 | if(self.cash>price): 25 | # print("Buying %d stocks for %f each" % ((self.cash)//price, price)) 26 | #print("buy at ", price) 27 | self.stock += (self.cash)//price 28 | self.cash -= ((self.cash)//price)*price 29 | 30 | def sell_all(self, price): 31 | if(self.stock>0): 32 | #print("sell at ", price) 33 | #print("Selling %d stocks for %f each" % (self.stock, price)) 34 | self.cash += self.stock*price 35 | self.stock = 0 36 | 37 | def run(self, data, dates=None): 38 | results = [] 39 | sell_count = 0 40 | buy_val = 0 41 | win_count = 0 42 | 43 | for i in range(len(data)): 44 | action = None 45 | if dates is not None: 46 | action = self.agent.step(data[i], dates[i]) 47 | else: 48 | action = self.agent.step(data[i]) 49 | 50 | if action == 1: 51 | # Buy 52 | buy_val = data[i] 53 | self.buy_all(data[i]) 54 | 55 | elif action == -1: 56 | # Sell 57 | sell_count += 1 58 | self.sell_all(data[i]) 59 | if data[i] > buy_val: 60 | win_count += 1 61 | 62 | val = self.getPortfolioVal(data[i]) 63 | 64 | if self.logging: 65 | action_type = None 66 | if action == 0: 67 | action_type = "Hold" 68 | if action == 1: 69 | action_type = "Buy" 70 | if action == -1: 71 | action_type = "Sell" 72 | 73 | d = {'Timestep': i, 'Portfolio Value': val, 'Action': action_type} 74 | df = pd.DataFrame(data = d,index = [i]) 75 | self.logstore.append(self.ticker , df, upsert=True) 76 | 77 | results.append(val) 78 | #print("Portfolio valuation : %f" % (val)) 79 | 80 | if self.stock > 0: 81 | sell_count += 1 82 | if buy_val > 0: 83 | if data[len(data)-1] > buy_val: 84 | win_count += 1 85 | ''' 86 | if sell_count == 0: 87 | print("ZERO SALES") 88 | else: 89 | print("Sell count is ", sell_count, " and win rate is", (100*win_count)/sell_count) 90 | ''' 91 | return results -------------------------------------------------------------------------------- /build/lib/algotrader/dask-agents/BaseDaskAgent.py: -------------------------------------------------------------------------------- 1 | from collections import deque 2 | 3 | class BaseDaskAgent: 4 | def __init__(self, cash, window_size): 5 | self.cash = cash 6 | self.stock = 0 7 | self.memory = deque(maxlen=window_size) 8 | 9 | def deep_reset(self, cash, stock, stock_price, ticker): 10 | self.cash = cash 11 | self.stock = stock 12 | self.portfolio_val = self.cash + self.stock*self.stock_price 13 | self.ticker = ticker 14 | self.memory = deque(maxlen=1000) 15 | 16 | def reset_memory(self): 17 | self.memory = deque(maxlen=1000) 18 | 19 | def getPortfolioVal(self, price): 20 | return int((self.stock*price)+self.cash) 21 | -------------------------------------------------------------------------------- /build/lib/algotrader/dask-agents/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/build/lib/algotrader/dask-agents/__init__.py -------------------------------------------------------------------------------- /build/lib/algotrader/dask-agents/dask_sma_agent.py: -------------------------------------------------------------------------------- 1 | from .BaseDaskAgent import BaseDaskAgent 2 | import numpy as np 3 | from time import time 4 | import pandas as pd 5 | 6 | class SMA_Agent(BaseDaskAgent): 7 | def __init__(self, cash, window_size, up, down): 8 | super().__init__(cash, window_size) 9 | self.up = up 10 | self.down = down 11 | self.window_size = window_size 12 | self.memory = Null 13 | self.moving_avg = 0 14 | 15 | def step(self, row): 16 | row = np.array(row) 17 | 18 | if self.memory is Null: 19 | self.memory = pd.read_csv("dummy.csv") 20 | 21 | if len(self.memory)price): 32 | #print("Buying %d stocks for %f each" % ((self.cash)//price, price)) 33 | self.stock += (self.cash)//price 34 | self.cash -= ((self.cash)//price)*price 35 | self.memory.append((row, self.moving_avg)) 36 | return 1 37 | 38 | # Sell 39 | if(row[5]>=np.mean(self.memory)*(1+self.up)): 40 | if(self.stock>0): 41 | #print("Selling %d stocks for %f each" % (self.stock, price)) 42 | self.cash += self.stock*price 43 | self.stock =0 44 | self.memory.append((row, self.moving_avg)) 45 | return -1 46 | self.memory.append((row, self.moving_avg)) 47 | return 0 -------------------------------------------------------------------------------- /build/lib/algotrader/evaluation.py: -------------------------------------------------------------------------------- 1 | import sys 2 | sys.path.append('../') 3 | 4 | import matplotlib.pyplot as plt 5 | import numpy as np 6 | import pandas as pd 7 | 8 | RISK_FREE_RETURN = 0.07 9 | 10 | class Evaluation: 11 | def __init__(self, prices, dates, output, algo, security): 12 | self.prices = prices 13 | self.dates = dates 14 | self.output = output 15 | self.algo = algo 16 | self.security = security 17 | self.risk_free = [] 18 | self.adjusted = None 19 | 20 | def plot_output(self): 21 | scaling_factor = 10000/self.prices[0] 22 | fig, ax = plt.subplots() 23 | ax.plot(np.arange(len(self.prices)), self.output, color='red') 24 | ax.plot(np.arange(len(self.prices)), self.risk_free, color='blue') 25 | ax.plot(np.arange(len(self.prices)), self.prices*scaling_factor, color='green') 26 | 27 | ax.set(xlabel='Days', ylabel='INR', 28 | title='Running %s on %s stocks' % (self.algo, self.security)) 29 | ax.grid() 30 | plt.show() 31 | 32 | def get_days(self, date): 33 | date_form = date.split("-") 34 | 35 | return (int(date_form[1]) - 1)*30 + int(date_form[2]) 36 | 37 | def roi(self): 38 | return (self.output[-1] - self.output[0])/self.output[0] 39 | 40 | def get_adjusted_return(self): 41 | if(self.adjusted is not None): 42 | return self.adjusted 43 | 44 | adjusted = [] 45 | for i in range(len(self.dates)): 46 | days = self.get_days(self.dates[i]) 47 | risk_free = (1 + (days/361)*RISK_FREE_RETURN)*self.output[0] 48 | self.risk_free.append(risk_free) 49 | adjusted.append((self.output[i] - risk_free)/risk_free) 50 | 51 | self.adjusted = adjusted 52 | 53 | return adjusted 54 | 55 | def sharpe_ratio(self): 56 | roi = self.roi() 57 | returns = pd.Series(self.get_adjusted_return()) 58 | #print(returns) 59 | sd = returns.std() 60 | #print(sd) 61 | 62 | #print(roi, sd[0]) 63 | 64 | return (roi - RISK_FREE_RETURN)/sd 65 | 66 | def sortino_ratio(self): 67 | roi = self.roi() 68 | 69 | returns = pd.Series([x for x in self.get_adjusted_return() if x < 0]) 70 | #print(returns) 71 | sd = returns.std() 72 | #print(sd) 73 | 74 | return (roi - RISK_FREE_RETURN)/sd 75 | 76 | def complete_evaluation(self, get_plots=True, verbose=True): 77 | ''' 78 | if verbose is True: 79 | print("Running ", self.algo) 80 | print("The Sharpe Ratio is ", self.sharpe_ratio()) 81 | print("The Sortino Ratio is ", self.sortino_ratio()) 82 | print("The return on investment is(in percentage) ", self.roi()*100) 83 | 84 | if get_plots is True: 85 | self.plot_output() 86 | ''' 87 | return self.sharpe_ratio(), self.sortino_ratio(), self.roi()*100 88 | 89 | -------------------------------------------------------------------------------- /build/lib/algotrader/scraper.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | import numpy as np 5 | import os 6 | import quandl 7 | 8 | def getNifty(): 9 | nifty_list = pd.read_csv("../Historical data/Nifty50list.csv") 10 | quandl.ApiConfig.api_key = "FDEDsMbK1E2t_PMf7X3M" 11 | 12 | for stock in nifty_list["Symbol"]: 13 | try: 14 | print(stock) 15 | for i in range(2000,2018): 16 | print(i) 17 | df = quandl.get('NSE/'+stock, start_date=str(i)+'-01-01', end_date=str(i)+'-12-31') 18 | if len(df)>0: 19 | df.to_csv("../Historical data/%s/%s-%s.csv" % (i, stock, i)) 20 | except: 21 | print("An exception occurred while retrieving %s" % (stock)) -------------------------------------------------------------------------------- /build/lib/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/build/lib/tests/__init__.py -------------------------------------------------------------------------------- /build/lib/tests/genetics.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | import numpy as np 4 | from random import randint, random, uniform 5 | from operator import add 6 | 7 | from optimise import run_cci, run_sma, run_ema, run_dema, run_tema 8 | from optimise import run_optimisation 9 | 10 | 11 | def individual(): 12 | return [np.random.randint(5,50), uniform(0.01,0.25), uniform(0.01,0.25)] 13 | 14 | def population(count): 15 | return [ individual() for x in range(0, count) ] 16 | 17 | def fitness(individual, algo, year, stock): 18 | # Insert scoring function here 19 | mean_sharpe, std_sharpe, mean_sortino, std_sortino = run_optimisation(algo, year, stock, individual[0], individual[1], individual[2]) 20 | return mean_sharpe 21 | 22 | def grade(pop, algo, year, stock): 23 | summed = sum([fitness(x, algo, year, stock) for x in pop]) 24 | return summed / (len(pop) * 1.0) 25 | 26 | def evolve(pop, algo, year, stock, retain=0.2, random_select=0.05, mutate=0.01): 27 | graded = [ (fitness(x, algo, year, stock), x) for x in pop] 28 | graded = [ x[1] for x in sorted(graded, reverse = True)] 29 | print(graded[0]) 30 | retain_length = int(len(graded)*retain) 31 | parents = graded[:retain_length] 32 | 33 | 34 | for individual in graded[retain_length:]: 35 | if random_select > random(): 36 | parents.append(individual) 37 | 38 | 39 | for individual in parents: 40 | if mutate > random(): 41 | pos_to_mutate = np.random.randint(0, 2) 42 | if pos_to_mutate == 0: 43 | individual[pos_to_mutate] = np.random.randint(5, 50) 44 | if pos_to_mutate == 1: 45 | individual[pos_to_mutate] += np.random.normal(0, 0.025) 46 | if pos_to_mutate == 2: 47 | individual[pos_to_mutate] += np.random.normal(0, 0.025) 48 | 49 | 50 | parents_length = len(parents) 51 | desired_length = len(pop) - parents_length 52 | print(desired_length) 53 | children = [] 54 | while len(children) < desired_length: 55 | male = parents[np.random.randint(0, len(parents)-1)] 56 | female = parents[np.random.randint(0, len(parents)-1)] 57 | if male != female: 58 | half = len(male) // 2 59 | child = male[:half] + female[half:] 60 | children.append(child) 61 | parents.extend(children) 62 | return parents 63 | 64 | 65 | if __name__ == "__main__": 66 | if(len(sys.argv) != 6): 67 | print("Invalid input") 68 | sys.exit(1) 69 | algo = sys.argv[1] 70 | population_count = int(sys.argv[2]) 71 | epochs = int(sys.argv[3]) 72 | year = sys.argv[4] 73 | stock = sys.argv[5] 74 | 75 | test_function = { 76 | "cci" : run_cci, 77 | "sma" : run_sma, 78 | "ema" : run_ema, 79 | "dema" : run_dema, 80 | "tema" : run_tema, 81 | } 82 | 83 | if algo not in test_function.keys(): 84 | print("Algo %s is not available" %(algo)) 85 | sys.exit(1) 86 | 87 | p = population(population_count) 88 | fitness_history = [grade(p, algo, year, stock),] 89 | for i in range(0, epochs): 90 | print("Epoch: %d" % (i)) 91 | p = evolve(p, algo, year, stock) 92 | scores = grade(p, algo, year, stock) 93 | print(scores) 94 | fitness_history.append(scores) 95 | 96 | for datum in fitness_history: 97 | print (datum) 98 | 99 | p = evolve(p, algo, year, stock) -------------------------------------------------------------------------------- /build/lib/tests/optimise.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | import numpy as np 4 | 5 | def run_cci(year, stock, window, up, down): 6 | import test_cci 7 | return test_cci.test(year, stock, window, up, down, get_plots=False, verbose=False) 8 | 9 | def run_sma(year, stock, window, up, down): 10 | import test_sma 11 | return test_sma.test(year, stock, window, up, down, get_plots=False, verbose=False) 12 | 13 | def run_ema(year, stock, window, up, down): 14 | import test_ema 15 | return test_ema.test(year, stock, window, up, down, get_plots=False, verbose=False) 16 | 17 | def run_dema(year, stock, window, up, down): 18 | import test_dema 19 | return test_dema.test(year, stock, window, up, down, get_plots=False, verbose=False) 20 | 21 | def run_tema(year, stock, window, up, down): 22 | import test_tema 23 | return test_tema.test(year, stock, window, up, down, get_plots=False, verbose=False) 24 | 25 | 26 | test_function = { 27 | "cci" : run_cci, 28 | "sma" : run_sma, 29 | "ema" : run_ema, 30 | "dema" : run_dema, 31 | "tema" : run_tema, 32 | } 33 | 34 | 35 | def run_optimisation(algo, year, stock, window, up, down): 36 | year_list = [] 37 | stock_list = [] 38 | 39 | sharpes = [] 40 | sortinos = [] 41 | rois = [] 42 | 43 | if year == "all": 44 | year_list = map(str, list(range(2000, 2018))) 45 | else: 46 | year_list = [year] 47 | 48 | for yr in year_list: 49 | stocks_avail = os.listdir("../Historical Data/%s/" %(yr)) 50 | stocks_avail = [x.split("-")[0] for x in stocks_avail] 51 | 52 | if stock == "all": 53 | stock_list = stocks_avail 54 | else: 55 | stock_list = [stock] 56 | 57 | for stck in stock_list: 58 | if stck not in stocks_avail: 59 | print("Data for stock %s not available for year %s" %(stck, yr)) 60 | continue 61 | 62 | sharpe, sortino, roi = test_function[algo](yr, stck, window, up, down) 63 | 64 | sharpes.append(sharpe) 65 | sortinos.append(sortino) 66 | rois.append(roi) 67 | 68 | sharpes = np.array(sharpes) 69 | sortinos = np.array(sortinos) 70 | 71 | mean_sharpe = np.mean(sharpes) 72 | mean_sortino = np.mean(sortinos) 73 | 74 | std_sharpe = np.std(sharpes) 75 | std_sortino = np.std(sortinos) 76 | 77 | return mean_sharpe, std_sharpe, mean_sortino, std_sortino 78 | 79 | def optimise(algo, year, stock, window, up, down): 80 | algo_list = [] 81 | 82 | if algo == "all": 83 | algo_list = test_function.keys() 84 | else: 85 | if algo not in test_function.keys(): 86 | print("Algo %s is not available" %(algo)) 87 | return 88 | 89 | return run_optimisation(algo, year, stock, window, up, down) 90 | 91 | for alg in algo_list: 92 | mean_sharpe, std_sharpe, mean_sortino, std_sortino = run_optimisation(alg, year, stock, window, up, down) 93 | print(" Values in order ", mean_sharpe, stddev_sharpe ,mean_sortino, std_sortino) 94 | 95 | return 96 | 97 | 98 | 99 | if __name__ == "__main__": 100 | if(len(sys.argv) != 7): 101 | print("Invalid input") 102 | sys.exit(1) 103 | 104 | optimise(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6]) 105 | 106 | 107 | -------------------------------------------------------------------------------- /build/lib/tests/test.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | 4 | def run_cci(year, stock): 5 | import test_cci 6 | test_cci.test(year, stock) 7 | 8 | def run_sma(year, stock): 9 | import test_sma 10 | test_sma.test(year, stock) 11 | 12 | def run_ema(year, stock): 13 | import test_ema 14 | test_ema.test(year, stock) 15 | 16 | def run_dema(year, stock): 17 | import test_dema 18 | test_dema.test(year, stock) 19 | 20 | def run_tema(year, stock): 21 | import test_tema 22 | test_tema.test(year, stock) 23 | 24 | def run_momentum(year, stock): 25 | import test_momentum 26 | test_momentum.test(year, stock) 27 | 28 | def run_six_month_cycle(year, stock): 29 | import test_six_month_cycle 30 | test_six_month_cycle.test(year, stock) 31 | 32 | test_function = { 33 | "cci" : run_cci, 34 | "sma" : run_sma, 35 | "ema" : run_ema, 36 | "dema" : run_dema, 37 | "tema" : run_tema, 38 | "momentum" : run_momentum, 39 | "sixmonthcycle" : run_six_month_cycle 40 | } 41 | 42 | if __name__ == "__main__": 43 | 44 | if(len(sys.argv) != 4): 45 | raise Exception("Invalid arguments") 46 | 47 | algo = sys.argv[1] 48 | year = sys.argv[2] 49 | stock = sys.argv[3] 50 | 51 | year_list = [] 52 | stock_list = [] 53 | algo_list = {} 54 | 55 | if year == "all": 56 | year_list = map(str, list(range(2000, 2018))) 57 | else: 58 | year_list = [year] 59 | 60 | for yr in year_list: 61 | stocks_avail = os.listdir("../Historical Data/%s/" %(yr)) 62 | stocks_avail = [x.split("-")[0] for x in stocks_avail] 63 | 64 | if stock == "all": 65 | stock_list = stocks_avail 66 | else: 67 | stock_list = [stock] 68 | 69 | for stck in stock_list: 70 | if stck not in stocks_avail: 71 | print("Data for stock %s not available for year %s" %(stck, yr)) 72 | continue 73 | 74 | if algo == "all": 75 | algo_list = test_function 76 | elif algo not in test_function.keys(): 77 | print("Algorithm %s not available" %(algo)) 78 | else: 79 | algo_list[algo] = test_function[algo] 80 | 81 | for alg in algo_list.keys(): 82 | print("Running %s Algorithm on %s stock for %s year." %(alg, stck, yr)) 83 | algo_list[alg](yr, stck) 84 | 85 | print("END") 86 | -------------------------------------------------------------------------------- /build/lib/tests/test_backtest.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.sma_agent import SMA_Agent 6 | #import matplotlib 7 | #matplotlib.use("Tkagg") 8 | import matplotlib.pyplot as plt 9 | import numpy as np 10 | import os 11 | 12 | 13 | stocks = os.listdir("../Historical data/") 14 | for stock in stocks[1:7]: 15 | prices = pd.read_csv("../Historical data/"+stock)["Price"] 16 | agent = SMA_Agent(10000, 10, 0.015, 0.015) 17 | test = Backtest(agent) 18 | output = test.run(prices) 19 | fig, ax = plt.subplots() 20 | ax.plot(np.arange(len(prices)), output, color='red') 21 | ax.plot(np.arange(len(prices)), prices, color='green') 22 | 23 | ax.set(xlabel='Days', ylabel='INR', 24 | title=stock) 25 | ax.grid() 26 | plt.show() -------------------------------------------------------------------------------- /build/lib/tests/test_cci.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.cci_agent import CCI_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | agent = CCI_Agent(25, 0.015, 0.015) 14 | 15 | test = Backtest(agent, 10000) 16 | 17 | output = test.run(prices) 18 | 19 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 20 | evaluator = Evaluation(prices, dates, output, "CCI", stock) 21 | evaluator.complete_evaluation() 22 | 23 | if __name__ == "__main__": 24 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /build/lib/tests/test_dema.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.dema_agent import DEMA_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock, window=10, up=0.05, down=0.05, get_plots=True, verbose=True): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | agent = DEMA_Agent(window, up, down) 14 | 15 | test = Backtest(agent, 10000) 16 | 17 | output = test.run(prices) 18 | 19 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 20 | evaluator = Evaluation(prices, dates, output, "DEMA", stock) 21 | return evaluator.complete_evaluation(get_plots, verbose) 22 | 23 | if __name__ == "__main__": 24 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /build/lib/tests/test_ema.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.ema_agent import EMA_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock, window=10, up=0.05, down=0.05, get_plots=True, verbose=True): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | agent = EMA_Agent(window, up, down) 14 | 15 | test = Backtest(agent, 10000) 16 | 17 | output = test.run(prices) 18 | 19 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 20 | evaluator = Evaluation(prices, dates, output, "EMA", stock) 21 | return evaluator.complete_evaluation(get_plots, verbose) 22 | 23 | if __name__ == "__main__": 24 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /build/lib/tests/test_logging.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.sma_agent import SMA_Agent 6 | #import matplotlib 7 | #matplotlib.use("Tkagg") 8 | import matplotlib.pyplot as plt 9 | import numpy as np 10 | import os 11 | 12 | 13 | prices = pd.read_csv("../Historical data/2017/CIPLA-2017.csv")["Open"] 14 | agent = SMA_Agent(10, 0.015, 0.015) 15 | test = Backtest(agent, 10000, logging=True, ticker="CIPLA") 16 | output = test.run(prices) 17 | fig, ax = plt.subplots() 18 | ax.plot(np.arange(len(prices)), output, color='red') 19 | ax.plot(np.arange(len(prices)), prices, color='green') 20 | 21 | ax.set(xlabel='Days', ylabel='INR', 22 | title="CIPLA") 23 | ax.grid() 24 | plt.show() 25 | 26 | print(test.logstore.read('CIPLA').data) -------------------------------------------------------------------------------- /build/lib/tests/test_momentum.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.momentum_agent import Momentum_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock, window=150, up=0.05, down=0.05): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | ''' 14 | Parameters for the Moving Momentum algorithm: 15 | 1. Small SMA (default 20) 16 | 2. Large SMA (default 150) 17 | 3. Stochastic oscillator sensitivity (default 14) 18 | 4. Stochastic oscillator oversold threshold (default below 20) 19 | 5. Stochastic oscillator overbought threshold (default above 80) 20 | 6. Small EMA (default 12) 21 | 7. Large EMA (default 26) 22 | 8. Signal Line (default 9) 23 | ''' 24 | 25 | agent = Momentum_Agent(150, 20, 150, 14, 20, 80, 12, 26, 9) 26 | 27 | test = Backtest(agent, 10000) 28 | 29 | output = test.run(prices) 30 | 31 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 32 | evaluator = Evaluation(prices, dates, output, "Moving Momentum", stock) 33 | return evaluator.complete_evaluation() 34 | 35 | if __name__ == "__main__": 36 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /build/lib/tests/test_six_month_cycle.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.six_month_cycle_agent import SixMonthCycle_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock, window=10, up=0.05, down = 0.05): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | ''' 14 | Parameters for the Six month cycle MACD: 15 | 1. Small EMA (default 12) 16 | 2. Large EMA (default 26) 17 | 3. Signal Line (default 9) 18 | ''' 19 | 20 | agent = SixMonthCycle_Agent(26, 12, 26, 9, 0.015, 0.015) 21 | 22 | test = Backtest(agent, 10000) 23 | 24 | output = test.run(prices, dates) 25 | 26 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 27 | evaluator = Evaluation(prices, dates, output, "Six Month Cycle MACD", stock) 28 | return evaluator.complete_evaluation() 29 | 30 | if __name__ == "__main__": 31 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /build/lib/tests/test_sma.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.sma_agent import SMA_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock, window, up, down, get_plots=True, verbose=True): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | agent = SMA_Agent(window, up, down) 14 | 15 | test = Backtest(agent, 10000) 16 | 17 | output = test.run(prices) 18 | 19 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 20 | evaluator = Evaluation(prices, dates, output, "SMA", stock) 21 | return evaluator.complete_evaluation(get_plots, verbose) 22 | 23 | if __name__ == "__main__": 24 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /build/lib/tests/test_tema.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.tema_agent import TEMA_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock, window=10, up=0.05, down=0.05, get_plots=True, verbose=True): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | agent = TEMA_Agent(window, up, down) 14 | 15 | test = Backtest(agent, 10000) 16 | 17 | output = test.run(prices) 18 | 19 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 20 | evaluator = Evaluation(prices, dates, output, "TEMA", stock) 21 | return evaluator.complete_evaluation(get_plots, verbose) 22 | 23 | if __name__ == "__main__": 24 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /dist/algotrader-0.1.dev0-py3-none-any.whl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/dist/algotrader-0.1.dev0-py3-none-any.whl -------------------------------------------------------------------------------- /dist/algotrader-0.1.dev0.macosx-10.7-x86_64.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/dist/algotrader-0.1.dev0.macosx-10.7-x86_64.tar.gz -------------------------------------------------------------------------------- /dist/algotrader-0.1.dev0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/dist/algotrader-0.1.dev0.tar.gz -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | matplotlib 2 | setuptools 3 | Quandl 4 | numpy==1.22.0 5 | pandas==0.23.4 6 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import setuptools 2 | 3 | with open("README.md", "r") as fh: 4 | long_description = fh.read() 5 | 6 | setuptools.setup( 7 | name="algotrader", 8 | version="0.1dev", 9 | author="Vrishank Bhardwaj", 10 | author_email="vrishank1997@gmail.com", 11 | description="Python implementations of commonly used trading algorithms", 12 | long_description=long_description, 13 | long_description_content_type="text/markdown", 14 | url="https://github.com/vrishank97/AlgoTrading", 15 | packages=setuptools.find_packages(), 16 | classifiers=[ 17 | "Programming Language :: Python :: 3", 18 | "License :: OSI Approved :: MIT License", 19 | "Operating System :: OS Independent", 20 | ], 21 | ) 22 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/tests/__init__.py -------------------------------------------------------------------------------- /tests/__pycache__/optimise.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/tests/__pycache__/optimise.cpython-36.pyc -------------------------------------------------------------------------------- /tests/__pycache__/test_cci.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/tests/__pycache__/test_cci.cpython-36.pyc -------------------------------------------------------------------------------- /tests/__pycache__/test_dema.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/tests/__pycache__/test_dema.cpython-36.pyc -------------------------------------------------------------------------------- /tests/__pycache__/test_ema.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/tests/__pycache__/test_ema.cpython-36.pyc -------------------------------------------------------------------------------- /tests/__pycache__/test_momentum.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/tests/__pycache__/test_momentum.cpython-36.pyc -------------------------------------------------------------------------------- /tests/__pycache__/test_six_month_cycle.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/tests/__pycache__/test_six_month_cycle.cpython-36.pyc -------------------------------------------------------------------------------- /tests/__pycache__/test_sma.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/tests/__pycache__/test_sma.cpython-36.pyc -------------------------------------------------------------------------------- /tests/__pycache__/test_tema.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vrishank97/AlgoTrading/11e3bdd48ff79e144ae7b7869437778d7d786850/tests/__pycache__/test_tema.cpython-36.pyc -------------------------------------------------------------------------------- /tests/dummy.py: -------------------------------------------------------------------------------- 1 | return 0 -------------------------------------------------------------------------------- /tests/genetics.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | import numpy as np 4 | from random import randint, random, uniform 5 | from operator import add 6 | 7 | from optimise import run_cci, run_sma, run_ema, run_dema, run_tema 8 | from optimise import run_optimisation 9 | 10 | 11 | def individual(): 12 | return [np.random.randint(5,50), uniform(0.01,0.25), uniform(0.01,0.25)] 13 | 14 | def population(count): 15 | return [ individual() for x in range(0, count) ] 16 | 17 | def fitness(individual, algo, year, stock): 18 | # Insert scoring function here 19 | mean_sharpe, std_sharpe, mean_sortino, std_sortino = run_optimisation(algo, year, stock, individual[0], individual[1], individual[2]) 20 | return mean_sharpe 21 | 22 | def grade(pop, algo, year, stock): 23 | summed = sum([fitness(x, algo, year, stock) for x in pop]) 24 | return summed / (len(pop) * 1.0) 25 | 26 | def evolve(pop, algo, year, stock, retain=0.2, random_select=0.05, mutate=0.01): 27 | graded = [ (fitness(x, algo, year, stock), x) for x in pop] 28 | graded = [ x[1] for x in sorted(graded, reverse = True)] 29 | print(graded[0]) 30 | retain_length = int(len(graded)*retain) 31 | parents = graded[:retain_length] 32 | 33 | 34 | for individual in graded[retain_length:]: 35 | if random_select > random(): 36 | parents.append(individual) 37 | 38 | 39 | for individual in parents: 40 | if mutate > random(): 41 | pos_to_mutate = np.random.randint(0, 2) 42 | if pos_to_mutate == 0: 43 | individual[pos_to_mutate] = np.random.randint(5, 50) 44 | if pos_to_mutate == 1: 45 | individual[pos_to_mutate] += np.random.normal(0, 0.025) 46 | if pos_to_mutate == 2: 47 | individual[pos_to_mutate] += np.random.normal(0, 0.025) 48 | 49 | 50 | parents_length = len(parents) 51 | desired_length = len(pop) - parents_length 52 | print(desired_length) 53 | children = [] 54 | while len(children) < desired_length: 55 | male = parents[np.random.randint(0, len(parents)-1)] 56 | female = parents[np.random.randint(0, len(parents)-1)] 57 | if male != female: 58 | half = len(male) // 2 59 | child = male[:half] + female[half:] 60 | children.append(child) 61 | parents.extend(children) 62 | return parents 63 | 64 | 65 | if __name__ == "__main__": 66 | if(len(sys.argv) != 6): 67 | print("Invalid input") 68 | sys.exit(1) 69 | algo = sys.argv[1] 70 | population_count = int(sys.argv[2]) 71 | epochs = int(sys.argv[3]) 72 | year = sys.argv[4] 73 | stock = sys.argv[5] 74 | 75 | test_function = { 76 | "cci" : run_cci, 77 | "sma" : run_sma, 78 | "ema" : run_ema, 79 | "dema" : run_dema, 80 | "tema" : run_tema, 81 | } 82 | 83 | if algo not in test_function.keys(): 84 | print("Algo %s is not available" %(algo)) 85 | sys.exit(1) 86 | 87 | p = population(population_count) 88 | fitness_history = [grade(p, algo, year, stock),] 89 | for i in range(0, epochs): 90 | print("Epoch: %d" % (i)) 91 | p = evolve(p, algo, year, stock) 92 | scores = grade(p, algo, year, stock) 93 | print(scores) 94 | fitness_history.append(scores) 95 | 96 | for datum in fitness_history: 97 | print (datum) 98 | 99 | p = evolve(p, algo, year, stock) -------------------------------------------------------------------------------- /tests/optimise.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | import numpy as np 4 | 5 | def run_cci(year, stock, window, up, down): 6 | import test_cci 7 | return test_cci.test(year, stock, window, up, down, get_plots=False, verbose=False) 8 | 9 | def run_sma(year, stock, window, up, down): 10 | import test_sma 11 | return test_sma.test(year, stock, window, up, down, get_plots=False, verbose=False) 12 | 13 | def run_ema(year, stock, window, up, down): 14 | import test_ema 15 | return test_ema.test(year, stock, window, up, down, get_plots=False, verbose=False) 16 | 17 | def run_dema(year, stock, window, up, down): 18 | import test_dema 19 | return test_dema.test(year, stock, window, up, down, get_plots=False, verbose=False) 20 | 21 | def run_tema(year, stock, window, up, down): 22 | import test_tema 23 | return test_tema.test(year, stock, window, up, down, get_plots=False, verbose=False) 24 | 25 | 26 | test_function = { 27 | "cci" : run_cci, 28 | "sma" : run_sma, 29 | "ema" : run_ema, 30 | "dema" : run_dema, 31 | "tema" : run_tema, 32 | } 33 | 34 | 35 | def run_optimisation(algo, year, stock, window, up, down): 36 | year_list = [] 37 | stock_list = [] 38 | 39 | sharpes = [] 40 | sortinos = [] 41 | rois = [] 42 | 43 | if year == "all": 44 | year_list = map(str, list(range(2000, 2018))) 45 | else: 46 | year_list = [year] 47 | 48 | for yr in year_list: 49 | stocks_avail = os.listdir("../Historical Data/%s/" %(yr)) 50 | stocks_avail = [x.split("-")[0] for x in stocks_avail] 51 | 52 | if stock == "all": 53 | stock_list = stocks_avail 54 | else: 55 | stock_list = [stock] 56 | 57 | for stck in stock_list: 58 | if stck not in stocks_avail: 59 | print("Data for stock %s not available for year %s" %(stck, yr)) 60 | continue 61 | 62 | sharpe, sortino, roi = test_function[algo](yr, stck, window, up, down) 63 | 64 | sharpes.append(sharpe) 65 | sortinos.append(sortino) 66 | rois.append(roi) 67 | 68 | sharpes = np.array(sharpes) 69 | sortinos = np.array(sortinos) 70 | 71 | mean_sharpe = np.mean(sharpes) 72 | mean_sortino = np.mean(sortinos) 73 | 74 | std_sharpe = np.std(sharpes) 75 | std_sortino = np.std(sortinos) 76 | 77 | return mean_sharpe, std_sharpe, mean_sortino, std_sortino 78 | 79 | def optimise(algo, year, stock, window, up, down): 80 | algo_list = [] 81 | 82 | if algo == "all": 83 | algo_list = test_function.keys() 84 | else: 85 | if algo not in test_function.keys(): 86 | print("Algo %s is not available" %(algo)) 87 | return 88 | 89 | return run_optimisation(algo, year, stock, window, up, down) 90 | 91 | for alg in algo_list: 92 | mean_sharpe, std_sharpe, mean_sortino, std_sortino = run_optimisation(alg, year, stock, window, up, down) 93 | print(" Values in order ", mean_sharpe, stddev_sharpe ,mean_sortino, std_sortino) 94 | 95 | return 96 | 97 | 98 | 99 | if __name__ == "__main__": 100 | if(len(sys.argv) != 7): 101 | print("Invalid input") 102 | sys.exit(1) 103 | 104 | optimise(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6]) 105 | 106 | 107 | -------------------------------------------------------------------------------- /tests/test.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | 4 | def run_cci(year, stock): 5 | import test_cci 6 | test_cci.test(year, stock) 7 | 8 | def run_sma(year, stock): 9 | import test_sma 10 | test_sma.test(year, stock) 11 | 12 | def run_ema(year, stock): 13 | import test_ema 14 | test_ema.test(year, stock) 15 | 16 | def run_dema(year, stock): 17 | import test_dema 18 | test_dema.test(year, stock) 19 | 20 | def run_tema(year, stock): 21 | import test_tema 22 | test_tema.test(year, stock) 23 | 24 | def run_momentum(year, stock): 25 | import test_momentum 26 | test_momentum.test(year, stock) 27 | 28 | def run_six_month_cycle(year, stock): 29 | import test_six_month_cycle 30 | test_six_month_cycle.test(year, stock) 31 | 32 | test_function = { 33 | "cci" : run_cci, 34 | "sma" : run_sma, 35 | "ema" : run_ema, 36 | "dema" : run_dema, 37 | "tema" : run_tema, 38 | "momentum" : run_momentum, 39 | "sixmonthcycle" : run_six_month_cycle 40 | } 41 | 42 | if __name__ == "__main__": 43 | 44 | if(len(sys.argv) != 4): 45 | raise Exception("Invalid arguments") 46 | 47 | algo = sys.argv[1] 48 | year = sys.argv[2] 49 | stock = sys.argv[3] 50 | 51 | year_list = [] 52 | stock_list = [] 53 | algo_list = {} 54 | 55 | if year == "all": 56 | year_list = map(str, list(range(2000, 2018))) 57 | else: 58 | year_list = [year] 59 | 60 | for yr in year_list: 61 | stocks_avail = os.listdir("../Historical Data/%s/" %(yr)) 62 | stocks_avail = [x.split("-")[0] for x in stocks_avail] 63 | 64 | if stock == "all": 65 | stock_list = stocks_avail 66 | else: 67 | stock_list = [stock] 68 | 69 | for stck in stock_list: 70 | if stck not in stocks_avail: 71 | print("Data for stock %s not available for year %s" %(stck, yr)) 72 | continue 73 | 74 | if algo == "all": 75 | algo_list = test_function 76 | elif algo not in test_function.keys(): 77 | print("Algorithm %s not available" %(algo)) 78 | else: 79 | algo_list[algo] = test_function[algo] 80 | 81 | for alg in algo_list.keys(): 82 | print("Running %s Algorithm on %s stock for %s year." %(alg, stck, yr)) 83 | algo_list[alg](yr, stck) 84 | 85 | print("END") 86 | -------------------------------------------------------------------------------- /tests/test_backtest.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.sma_agent import SMA_Agent 6 | #import matplotlib 7 | #matplotlib.use("Tkagg") 8 | import matplotlib.pyplot as plt 9 | import numpy as np 10 | import os 11 | 12 | 13 | stocks = os.listdir("../Historical data/") 14 | for stock in stocks[1:7]: 15 | prices = pd.read_csv("../Historical data/"+stock)["Price"] 16 | agent = SMA_Agent(10000, 10, 0.015, 0.015) 17 | test = Backtest(agent) 18 | output = test.run(prices) 19 | fig, ax = plt.subplots() 20 | ax.plot(np.arange(len(prices)), output, color='red') 21 | ax.plot(np.arange(len(prices)), prices, color='green') 22 | 23 | ax.set(xlabel='Days', ylabel='INR', 24 | title=stock) 25 | ax.grid() 26 | plt.show() -------------------------------------------------------------------------------- /tests/test_cci.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.cci_agent import CCI_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | agent = CCI_Agent(25, 0.015, 0.015) 14 | 15 | test = Backtest(agent, 10000) 16 | 17 | output = test.run(prices) 18 | 19 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 20 | evaluator = Evaluation(prices, dates, output, "CCI", stock) 21 | evaluator.complete_evaluation() 22 | 23 | if __name__ == "__main__": 24 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /tests/test_dema.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.dema_agent import DEMA_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock, window=10, up=0.05, down=0.05, get_plots=True, verbose=True): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | agent = DEMA_Agent(window, up, down) 14 | 15 | test = Backtest(agent, 10000) 16 | 17 | output = test.run(prices) 18 | 19 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 20 | evaluator = Evaluation(prices, dates, output, "DEMA", stock) 21 | return evaluator.complete_evaluation(get_plots, verbose) 22 | 23 | if __name__ == "__main__": 24 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /tests/test_ema.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import quandl 3 | import sys 4 | sys.path.append('../') 5 | from algotrading.backtest import Backtest 6 | from algotrading.agents.ema_agent import EMA_Agent 7 | from algotrading.evaluation import Evaluation 8 | 9 | def test(year, stock, window=10, up=0.05, down=0.05, get_plots=True, verbose=True): 10 | quandl.ApiConfig.api_key = "FDEDsMbK1E2t_PMf7X3M" 11 | df = quandl.get('NSE/ZEEL', start_date='2017-01-01', end_date='2017-12-31') 12 | prices = df["Close"] 13 | dates = df["Date"] 14 | 15 | agent = EMA_Agent(window, up, down) 16 | 17 | test = Backtest(agent, 10000) 18 | 19 | output = test.run(prices) 20 | 21 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 22 | 23 | evaluator = Evaluation(prices, dates, output, "EMA", stock) 24 | return evaluator.complete_evaluation(get_plots, verbose) 25 | 26 | 27 | if __name__ == "__main__": 28 | test(sys.argv[1], sys.argv[2]) 29 | -------------------------------------------------------------------------------- /tests/test_logging.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.sma_agent import SMA_Agent 6 | #import matplotlib 7 | #matplotlib.use("Tkagg") 8 | import matplotlib.pyplot as plt 9 | import numpy as np 10 | import os 11 | 12 | 13 | prices = pd.read_csv("../Historical data/2017/CIPLA-2017.csv")["Open"] 14 | agent = SMA_Agent(10, 0.015, 0.015) 15 | test = Backtest(agent, 10000, logging=True, ticker="CIPLA") 16 | output = test.run(prices) 17 | fig, ax = plt.subplots() 18 | ax.plot(np.arange(len(prices)), output, color='red') 19 | ax.plot(np.arange(len(prices)), prices, color='green') 20 | 21 | ax.set(xlabel='Days', ylabel='INR', 22 | title="CIPLA") 23 | ax.grid() 24 | plt.show() 25 | 26 | print(test.logstore.read('CIPLA').data) -------------------------------------------------------------------------------- /tests/test_momentum.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.momentum_agent import Momentum_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock, window=150, up=0.05, down=0.05): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | ''' 14 | Parameters for the Moving Momentum algorithm: 15 | 1. Small SMA (default 20) 16 | 2. Large SMA (default 150) 17 | 3. Stochastic oscillator sensitivity (default 14) 18 | 4. Stochastic oscillator oversold threshold (default below 20) 19 | 5. Stochastic oscillator overbought threshold (default above 80) 20 | 6. Small EMA (default 12) 21 | 7. Large EMA (default 26) 22 | 8. Signal Line (default 9) 23 | ''' 24 | 25 | agent = Momentum_Agent(150, 20, 150, 14, 20, 80, 12, 26, 9) 26 | 27 | test = Backtest(agent, 10000) 28 | 29 | output = test.run(prices) 30 | 31 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 32 | evaluator = Evaluation(prices, dates, output, "Moving Momentum", stock) 33 | return evaluator.complete_evaluation() 34 | 35 | if __name__ == "__main__": 36 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /tests/test_six_month_cycle.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.six_month_cycle_agent import SixMonthCycle_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock, window=10, up=0.05, down = 0.05): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | ''' 14 | Parameters for the Six month cycle MACD: 15 | 1. Small EMA (default 12) 16 | 2. Large EMA (default 26) 17 | 3. Signal Line (default 9) 18 | ''' 19 | 20 | agent = SixMonthCycle_Agent(26, 12, 26, 9, 0.015, 0.015) 21 | 22 | test = Backtest(agent, 10000) 23 | 24 | output = test.run(prices, dates) 25 | 26 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 27 | evaluator = Evaluation(prices, dates, output, "Six Month Cycle MACD", stock) 28 | return evaluator.complete_evaluation() 29 | 30 | if __name__ == "__main__": 31 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /tests/test_sma.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.sma_agent import SMA_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock, window, up, down, get_plots=True, verbose=True): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | agent = SMA_Agent(window, up, down) 14 | 15 | test = Backtest(agent, 10000) 16 | 17 | output = test.run(prices) 18 | 19 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 20 | evaluator = Evaluation(prices, dates, output, "SMA", stock) 21 | return evaluator.complete_evaluation(get_plots, verbose) 22 | 23 | if __name__ == "__main__": 24 | test(sys.argv[1], sys.argv[2]) -------------------------------------------------------------------------------- /tests/test_tema.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import sys 3 | sys.path.append('../') 4 | from algotrading.backtest import Backtest 5 | from algotrading.agents.tema_agent import TEMA_Agent 6 | from algotrading.evaluation import Evaluation 7 | 8 | def test(year, stock, window=10, up=0.05, down=0.05, get_plots=True, verbose=True): 9 | filename = "../Historical Data/%s/%s-%s.csv" %(year, stock, year) 10 | prices = pd.read_csv(filename)["Close"] 11 | dates = pd.read_csv(filename)["Date"] 12 | 13 | agent = TEMA_Agent(window, up, down) 14 | 15 | test = Backtest(agent, 10000) 16 | 17 | output = test.run(prices) 18 | 19 | # class Evaluation takes for initialization - prices, output, name of algorithm, name of security 20 | evaluator = Evaluation(prices, dates, output, "TEMA", stock) 21 | return evaluator.complete_evaluation(get_plots, verbose) 22 | 23 | if __name__ == "__main__": 24 | test(sys.argv[1], sys.argv[2]) --------------------------------------------------------------------------------