Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Changes to TALib API, Output Names

Today, we are updating the return types from the TALib API. This change could potentially break algorithms that use TALib functions that have named outputs, e.g. the MACD function, if the algorithm was indexing into the result with the index number. TALib functions that return just one value should be unaffected by this change.

TALib functions that returned multiple values are now identified with the output names. We are hoping this will improve the ease of use functions that produce multiple values, since the output names will be immediately available while working with the algorithm, instead of having to keep documentation of the TALib function up to cross reference which index maps to each value.

Previously, to get the 'macdsignal' value from the MACD function, an algorithm would have to do:

macd_result = my_macd(data)  
record(macdsignal=macd_result[context.my_sid][1]  

With the updated API, the way to get the macdsignal will be:

macd_result = my_macd(data)  
record(macdsignal=macd_result[context.my_sid]['macdsignal']  

On a technical level, the return types are changing from dictionaries to pandas data types, depending on the number of return values.
- For functions with multiple return values, instead of a dictionary with keys of sids and values of tuples, the result is now a pandas DataFrame, where the columns are the sids and the index is the output names.
- For functions with a single return value, instead of a dictionary with keys of sids that point to a float value, the result is now a pandas Series, where the index is the sids.

Disclaimer

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.