Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
TypeError: 'float' object has no attribute '__getitem__'

import numpy as np  
import pandas as pd  
import scipy.stats as stats  
import time  
from quantopian.pipeline import Pipeline  
from quantopian.pipeline import CustomFactor  
from quantopian.pipeline.data import morningstar  
from quantopian.pipeline.factors import EWMA, Latest, SimpleMovingAverage  
from quantopian.pipeline.data.builtin import USEquityPricing  
from quantopian.algorithm import attach_pipeline, pipeline_output

class AvgDailyDollarVolumeTraded(CustomFactor):  
    inputs = [USEquityPricing.close, USEquityPricing.volume]  
    def compute(self, today, assets, out, close_price, volume):  
        out[:] = np.mean(close_price * volume, axis=0)


def initialize(context):  

    pipe = Pipeline()  
    attach_pipeline(pipe, 'PipeX')  

    dollar_volume = AvgDailyDollarVolumeTraded(window_length=20)  
    pipe.add(dollar_volume, 'dollar_volume')  
    plausable_volume = (dollar_volume > 1e2)  
    sma_200 = SimpleMovingAverage(inputs=[USEquityPricing.close], window_length=200)  
    plausable_price = (sma_200 > 5)  
    pipe.set_screen(plausable_volume | plausable_price)

    pipe.add(plausable_volume, 'plausable_volume')  
    pipe.add(plausable_price, 'plausable_price')  
    return pipe

    set_commission(commission.PerShare(cost=0.0075, min_trade_cost=1.00))  
def before_trading_start(context, data):

    context.output = pipeline_output('PipeX')

    context.plausable_volume = context.output[context.output['plausable_volume']]

    context.plausable_price = context.output[context.output['plausable_price']]  
    context.stocks = context.plausable_volume.index.union(context.plausable_price.index)

def handle_data(context, data):  
    for stock in context.stocks:  
        MA10X = data.history(stock, 'close', 10, '1d').mean()  
        MA20X = data.history(stock, 'close', 20, '1d').mean()  
        MA50X = data.history(stock, 'close', 50, '1d').mean()  
        MA10 = MA10X[stock].mean()  
        MA20 = MA20X[stock].mean()  
        MA50 = MA50X[stock].mean()  

So yeah... "TypeError: 'float' object has no attribute '__getitem__'". I have a suspicion it has something to do with the fact I'm passing a list of objects and I get a dataframe instead of a series. Still pretty new to coding and trying to understand. Any help would be appreciated!