Book Image

Python Algorithmic Trading Cookbook

By : Pushpak Dagade
Book Image

Python Algorithmic Trading Cookbook

By: Pushpak Dagade

Overview of this book

If you want to find out how you can build a solid foundation in algorithmic trading using Python, this cookbook is here to help. Starting by setting up the Python environment for trading and connectivity with brokers, you’ll then learn the important aspects of financial markets. As you progress, you’ll learn to fetch financial instruments, query and calculate various types of candles and historical data, and finally, compute and plot technical indicators. Next, you’ll learn how to place various types of orders, such as regular, bracket, and cover orders, and understand their state transitions. Later chapters will cover backtesting, paper trading, and finally real trading for the algorithmic strategies that you've created. You’ll even understand how to automate trading and find the right strategy for making effective decisions that would otherwise be impossible for human traders. By the end of this book, you’ll be able to use Python libraries to conduct key tasks in the algorithmic trading ecosystem. Note: For demonstration, we're using Zerodha, an Indian Stock Market broker. If you're not an Indian resident, you won't be able to use Zerodha and therefore will not be able to test the examples directly. However, you can take inspiration from the book and apply the concepts across your preferred stock market broker of choice.
Table of Contents (16 chapters)

EMA-Regular-Order strategy – coding the strategy_enter_position method

In this recipe, you continue with the coding of the StrategyEMARegularOrder class. Here, you code the strategy_enter_position() method, a mandatory method enforced by the StrategyBase base class. This method is called by the AlgoBulls core engine every time the strategy_select_instruments_for_entry method returns non-empty data. This method may not be called for every new candle for backtesting, paper trading, and real trading services.

Please refer to the flowchart in the introduction of this chapter to understand how the AlgoBulls core engine calls the strategy_enter_position() method during strategy execution.

Getting ready

Make sure you have followed the preceding recipe before starting this recipe.

How to do it…

Continue coding the StrategyEMARegularOrder class. We need to define a method to punch new orders for a given instrument and enter a new position:

class StrategyEMARegularOrder(StrategyBase...