From d790c8e6ffbc3763a4fefeee3cf17dbfca690b17 Mon Sep 17 00:00:00 2001 From: Juan Pablo Amoroso Date: Tue, 4 Jun 2019 16:39:30 -0300 Subject: [PATCH] Moved Order enum to signal module. Created Signal (ENTRY | EXIT) enum. --- backtester/option.py | 7 ------- backtester/strategy/signal.py | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 backtester/strategy/signal.py diff --git a/backtester/option.py b/backtester/option.py index e7695f0..af9233b 100644 --- a/backtester/option.py +++ b/backtester/option.py @@ -3,10 +3,3 @@ from enum import Enum Type = Enum("Type", {"CALL": "call", "PUT": "put"}) Direction = Enum("Direction", {"BUY": "ask", "SELL": "bid"}) - -# Orders: -# BTO: Buy to Open -# BTC: Buy to Close -# STO: Sell to Open -# STC: Sell to Close -Order = Enum("Order", "BTO BTC STO STC") diff --git a/backtester/strategy/signal.py b/backtester/strategy/signal.py new file mode 100644 index 0000000..10568cd --- /dev/null +++ b/backtester/strategy/signal.py @@ -0,0 +1,21 @@ +from enum import Enum +from backtester.option import Direction + +Signal = Enum("Signal", "ENTRY EXIT") + +# Orders: +# BTO: Buy to Open +# BTC: Buy to Close +# STO: Sell to Open +# STC: Sell to Close +Order = Enum("Order", "BTO BTC STO STC") + + +def get_order(direction, signal): + """Returns Order type given direction (BUY | SELL) and + signal (ENTRY | EXIT). + """ + if direction == Direction.BUY: + return Order.BTO if signal == Signal.ENTRY else Order.STC + else: + return Order.STO if signal == Signal.ENTRY else Order.BTC