예제 #1
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the Average Directional-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_ADX"
        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, Code, ADX, ADX_ROC) values (?,?,?,?)" % (
            tableName)

        # Create a new DataFrame with just Date and Code
        indicatorDataFrame = equityDataFrame.ix[:, 'Code':]

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame['ADX'] = abstract.ADX(
            equityDataFrame, timeperiod=14, prices=['High', 'Low', 'Close'])
        indicatorDataFrame['ADX_ROC'] = abstract.ROC(indicatorDataFrame,
                                                     timeperiod=5,
                                                     price='ADX')

        Indicator.__init__(self, tableName, tickerCode, insertQuery,
                           equityDataFrame, indicatorDataFrame)
예제 #2
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the EMA-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_EMA"
        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, Code, EMA_5, EMA_10, EMA_15, EMA_20, EMA_50, EMA_100, EMA_200, EMA_300) values (?,?,?,?,?,?,?,?,?,?)" % (tableName)

        equityDataFrame = equityDataFrame

        # Create a new DataFrame with just Date and Code
        indicatorDataFrame = equityDataFrame.ix[:,'Code':]

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame['EMA_5'] = abstract.EMA(equityDataFrame, timeperiod=5, price='Close')
        indicatorDataFrame['EMA_10'] = abstract.EMA(equityDataFrame, timeperiod=10, price='Close')
        indicatorDataFrame['EMA_15'] = abstract.EMA(equityDataFrame, timeperiod=15, price='Close')
        indicatorDataFrame['EMA_20'] = abstract.EMA(equityDataFrame, timeperiod=20, price='Close')
        indicatorDataFrame['EMA_50'] = abstract.EMA(equityDataFrame, timeperiod=50, price='Close')
        indicatorDataFrame['EMA_100'] = abstract.EMA(equityDataFrame, timeperiod=100, price='Close')
        indicatorDataFrame['EMA_200'] = abstract.EMA(equityDataFrame, timeperiod=200, price='Close')
        indicatorDataFrame['EMA_300'] = abstract.EMA(equityDataFrame, timeperiod=300, price='Close')

        Indicator.__init__(self, tableName, tickerCode, insertQuery, equityDataFrame, indicatorDataFrame)
예제 #3
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the Rate of Change-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, Code, ROC_5, ROC_10, ROC_20) values (?,?,?,?,?)" % (
            IndicatorROC.tableName)

        equityDataFrame = equityDataFrame

        # Create a new DataFrame with just Date and Code
        indicatorDataFrame = equityDataFrame.ix[:, 'Code':]

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame['ROC_5'] = abstract.ROC(equityDataFrame,
                                                   timeperiod=5,
                                                   price='Close')
        indicatorDataFrame['ROC_10'] = abstract.ROC(equityDataFrame,
                                                    timeperiod=10,
                                                    price='Close')
        indicatorDataFrame['ROC_20'] = abstract.ROC(equityDataFrame,
                                                    timeperiod=20,
                                                    price='Close')

        Indicator.__init__(self, IndicatorROC.tableName, tickerCode,
                           insertQuery, equityDataFrame, indicatorDataFrame)
예제 #4
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the STOCH-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_STOCH"
        tickerCode = tickerCode

        insertQuery = (
            "insert or replace into %s (Date, STOCH_K, STOCH_D, STOCH_K_ROC, STOCH_D_ROC, Code) values (?,?,?,?,?,?)"
            % (tableName)
        )

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame = abstract.STOCH(
            equityDataFrame,
            fastk_period=5,
            slowk_period=3,
            slowk_matype=0,
            slowd_period=3,
            slowd_matype=0,
            prices=["High", "Low", "Close"],
        )
        indicatorDataFrame["STOCH_K_ROC"] = abstract.ROC(indicatorDataFrame, timeperiod=5, price="slowk")
        indicatorDataFrame["STOCH_D_ROC"] = abstract.ROC(indicatorDataFrame, timeperiod=5, price="slowd")
        indicatorDataFrame["Code"] = tickerCode

        Indicator.__init__(self, tableName, tickerCode, insertQuery, equityDataFrame, indicatorDataFrame)
예제 #5
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the STOCH-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_STOCH"
        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, STOCH_K, STOCH_D, STOCH_K_ROC, STOCH_D_ROC, Code) values (?,?,?,?,?,?)" % (
            tableName)

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame = abstract.STOCH(equityDataFrame,
                                            fastk_period=5,
                                            slowk_period=3,
                                            slowk_matype=0,
                                            slowd_period=3,
                                            slowd_matype=0,
                                            prices=['High', 'Low', 'Close'])
        indicatorDataFrame['STOCH_K_ROC'] = abstract.ROC(indicatorDataFrame,
                                                         timeperiod=5,
                                                         price='slowk')
        indicatorDataFrame['STOCH_D_ROC'] = abstract.ROC(indicatorDataFrame,
                                                         timeperiod=5,
                                                         price='slowd')
        indicatorDataFrame['Code'] = tickerCode

        Indicator.__init__(self, tableName, tickerCode, insertQuery,
                           equityDataFrame, indicatorDataFrame)
예제 #6
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the Bollinger Band-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_BB20"
        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, upperband, middleband, lowerband, Code, upperbandroc, middlebandroc, lowerbandroc) values (?,?,?,?,?,?,?,?)" % (
            tableName)

        equityDataFrame = equityDataFrame

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame = abstract.BBANDS(equityDataFrame,
                                             20,
                                             2,
                                             2,
                                             price='Close')
        indicatorDataFrame['Code'] = tickerCode
        indicatorDataFrame['upperbandroc'] = abstract.ROC(indicatorDataFrame,
                                                          timeperiod=5,
                                                          price='upperband')
        indicatorDataFrame['middlebandroc'] = abstract.ROC(indicatorDataFrame,
                                                           timeperiod=5,
                                                           price='middleband')
        indicatorDataFrame['lowerbandroc'] = abstract.ROC(indicatorDataFrame,
                                                          timeperiod=5,
                                                          price='lowerband')

        Indicator.__init__(self, tableName, tickerCode, insertQuery,
                           equityDataFrame, indicatorDataFrame)
예제 #7
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the MACD-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_MACD"
        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, MACD_12_26, MACD_12_26_9, MACD_12_26_9_DIVERGENCE, Code) values (?,?,?,?,?)" % (tableName)

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame = abstract.MACD(equityDataFrame, fastperiod=12, slowperiod=26, signalperiod=9, price='Close')
        indicatorDataFrame['Code'] = tickerCode

        Indicator.__init__(self, tableName, tickerCode, insertQuery, equityDataFrame, indicatorDataFrame)
예제 #8
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the Aroon-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_AROON"
        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, AROON_DOWN, AROON_UP, Code) values (?,?,?,?)" % (tableName)

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame = abstract.AROON(equityDataFrame, timeperiod=14, prices=['High', 'Low'])
        indicatorDataFrame['Code'] = tickerCode

        Indicator.__init__(self, tableName, tickerCode, insertQuery, equityDataFrame, indicatorDataFrame)
예제 #9
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the Relative Strength-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_RSI"
        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, Code, RSI) values (?,?,?)" % (tableName)

        # Create a new DataFrame with just Date and Code
        indicatorDataFrame = equityDataFrame.ix[:,'Code':]

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame['RSI'] = abstract.RSI(equityDataFrame, timeperiod=14, price='Close')

        Indicator.__init__(self, tableName, tickerCode, insertQuery, equityDataFrame, indicatorDataFrame)
예제 #10
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the Directional-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_DX"
        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, Code, DX, DX_ROC) values (?,?,?,?)" % (tableName)

        # Create a new DataFrame with just Date and Code
        indicatorDataFrame = equityDataFrame.ix[:,'Code':]

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame['DX'] = abstract.DX(equityDataFrame, timeperiod=14, prices=['High', 'Low', 'Close'])
        indicatorDataFrame['DX_ROC'] = abstract.ROC(indicatorDataFrame, timeperiod=5, price='DX')

        Indicator.__init__(self, tableName, tickerCode, insertQuery, equityDataFrame, indicatorDataFrame)
예제 #11
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the Rate of Change-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, Code, ROC_5, ROC_10, ROC_20) values (?,?,?,?,?)" % (IndicatorROC.tableName)

        equityDataFrame = equityDataFrame

        # Create a new DataFrame with just Date and Code
        indicatorDataFrame = equityDataFrame.ix[:,'Code':]

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame['ROC_5'] = abstract.ROC(equityDataFrame, timeperiod=5, price='Close')
        indicatorDataFrame['ROC_10'] = abstract.ROC(equityDataFrame, timeperiod=10, price='Close')
        indicatorDataFrame['ROC_20'] = abstract.ROC(equityDataFrame, timeperiod=20, price='Close')

        Indicator.__init__(self, IndicatorROC.tableName, tickerCode, insertQuery, equityDataFrame, indicatorDataFrame)
예제 #12
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the Bollinger Band-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_BB20"
        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, upperband, middleband, lowerband, Code, upperbandroc, middlebandroc, lowerbandroc) values (?,?,?,?,?,?,?,?)" % (tableName)

        equityDataFrame = equityDataFrame

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame = abstract.BBANDS(equityDataFrame, 20, 2, 2, price='Close')
        indicatorDataFrame['Code'] = tickerCode
        indicatorDataFrame['upperbandroc'] = abstract.ROC(indicatorDataFrame, timeperiod=5, price='upperband')
        indicatorDataFrame['middlebandroc'] = abstract.ROC(indicatorDataFrame, timeperiod=5, price='middleband')
        indicatorDataFrame['lowerbandroc'] = abstract.ROC(indicatorDataFrame, timeperiod=5, price='lowerband')

        Indicator.__init__(self, tableName, tickerCode, insertQuery, equityDataFrame, indicatorDataFrame)
예제 #13
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the Relative Strength-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_RSI"
        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, Code, RSI) values (?,?,?)" % (
            tableName)

        # Create a new DataFrame with just Date and Code
        indicatorDataFrame = equityDataFrame.ix[:, 'Code':]

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame['RSI'] = abstract.RSI(equityDataFrame,
                                                 timeperiod=14,
                                                 price='Close')

        Indicator.__init__(self, tableName, tickerCode, insertQuery,
                           equityDataFrame, indicatorDataFrame)
예제 #14
0
    def __init__(self, equityDataFrame, tickerCode):
        """
        Create the MACD-specific logic. Everything else lives in the Indicator Base Class.

        :param equityDataFrame: A Pandas DataFrame from the Equity Class.
        :param tickerCode: Ticker Code (String).
        """

        tableName = "Indicator_MACD"
        tickerCode = tickerCode

        insertQuery = "insert or replace into %s (Date, MACD_12_26, MACD_12_26_9, MACD_12_26_9_DIVERGENCE, Code) values (?,?,?,?,?)" % (
            tableName)

        # Stick the Indicator Values into the new DataFrame
        indicatorDataFrame = abstract.MACD(equityDataFrame,
                                           fastperiod=12,
                                           slowperiod=26,
                                           signalperiod=9,
                                           price='Close')
        indicatorDataFrame['Code'] = tickerCode

        Indicator.__init__(self, tableName, tickerCode, insertQuery,
                           equityDataFrame, indicatorDataFrame)