From ac0162a5969bbf43e238c9c2b205836b4e3a4817 Mon Sep 17 00:00:00 2001
From: LouisSzeto
Date: Fri, 5 Jul 2024 11:44:21 +0800
Subject: [PATCH] Update option strategies
---
.../01 Introduction.html | 12 +++----
.../02 Implementation.html | 20 ++++++------
.../03 Strategy Payoff.html | 19 ++++++-----
.../15 Long Iron Butterfly/04 Example.html | 7 ++--
.../05 Strategy Contract Filter.php | 2 +-
.../15 Long Iron Butterfly/metadata.json | 4 +--
.../01 Introduction.html | 2 --
.../02 Implementation.html | 22 ++++++-------
.../03 Strategy Payoff.html | 17 +++++-----
.../16 Short Iron Butterfly/04 Example.html | 7 ++--
.../05 Strategy Contract Filter.php | 7 ++++
.../17 Long Iron Condor/01 Introduction.html | 16 ++++++----
.../02 Implementation.html | 30 ++++++++---------
.../03 Strategy Payoff.html | 6 ++--
.../17 Long Iron Condor/04 Example.html | 22 ++++++-------
.../05 Strategy Contract Filter.php | 2 +-
.../18 Short Iron Condor/01 Introduction.html | 14 +++-----
.../02 Implementation.html | 32 +++++++++----------
.../03 Strategy Payoff.html | 6 ++--
.../18 Short Iron Condor/04 Example.html | 21 ++++++------
.../05 Strategy Contract Filter.php | 7 ++++
.../18 Short Iron Condor/metadata.json | 8 ++---
.../{99 Example.php => 04 Example.php} | 0
.../05 Strategy Contract Filter.php | 0
.../{99 Example.php => 04 Example.php} | 0
.../05 Strategy Contract Filter.php | 0
.../05 Strategy Contract Filter.php | 0
.../05 Strategy Contract Filter.php | 0
.../05 Strategy Contract Filter.php | 0
.../{99 Example.php => 04 Example.php} | 0
.../05 Strategy Contract Filter.php | 0
.../{99 Example.php => 04 Example.php} | 0
.../05 Strategy Contract Filter.php | 0
.../{99 Example.php => 04 Example.php} | 0
.../05 Strategy Contract Filter.php | 0
.../{99 Example.php => 04 Example.php} | 0
.../05 Strategy Contract Filter.php | 7 ++++
.../05 Strategy Contract Filter.php | 0
.../05 Strategy Contract Filter.php | 0
.../05 Strategy Contract Filter.php | 0
.../05 Strategy Contract Filter.php | 0
41 files changed, 152 insertions(+), 138 deletions(-)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{15 Iron Butterfly => 15 Long Iron Butterfly}/05 Strategy Contract Filter.php (83%)
create mode 100644 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/05 Strategy Contract Filter.php
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{16 Iron Condor => 17 Long Iron Condor}/05 Strategy Contract Filter.php (85%)
create mode 100644 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/05 Strategy Contract Filter.php
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/19 Naked Call/{99 Example.php => 04 Example.php} (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{17 Naked Call => 19 Naked Call}/05 Strategy Contract Filter.php (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/20 Naked Put/{99 Example.php => 04 Example.php} (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{18 Naked Put => 20 Naked Put}/05 Strategy Contract Filter.php (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{19 Protective Call => 21 Protective Call}/05 Strategy Contract Filter.php (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{20 Protective Put => 22 Protective Put}/05 Strategy Contract Filter.php (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{21 Protective Collar => 23 Protective Collar}/05 Strategy Contract Filter.php (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/24 Long Straddle/{99 Example.php => 04 Example.php} (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{22 Long Straddle => 24 Long Straddle}/05 Strategy Contract Filter.php (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/25 Short Straddle/{99 Example.php => 04 Example.php} (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{23 Short Straddle => 25 Short Straddle}/05 Strategy Contract Filter.php (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/26 Long Strangle/{99 Example.php => 04 Example.php} (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{24 Long Strangle => 26 Long Strangle}/05 Strategy Contract Filter.php (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/27 Short Strangle/{99 Example.php => 04 Example.php} (100%)
create mode 100644 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/27 Short Strangle/05 Strategy Contract Filter.php
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{27 Conversion => 28 Conversion}/05 Strategy Contract Filter.php (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{28 Reverse Conversion => 29 Reverse Conversion}/05 Strategy Contract Filter.php (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{29 Box Spread => 30 Box Spread}/05 Strategy Contract Filter.php (100%)
rename 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/{30 Short Box Spread => 31 Short Box Spread}/05 Strategy Contract Filter.php (100%)
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/01 Introduction.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/01 Introduction.html
index e7e5c1ce6c..e8924e19b3 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/01 Introduction.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/01 Introduction.html
@@ -4,10 +4,8 @@
-Warning: There is currently no OptionStrategies
method for Iron Butterfly orders, so this tutorial manually orders the individual legs in the strategy. If you manually place multi-leg orders one at a time while there is no liquidity at a strike price, you can get stuck in an unhedged position.
-
-The Iron Butterfly is an option strategy which involves four Option contracts. All the contracts have the same underlying stock and expiration, but the order of strike prices for the four contracts is $A>B>C$. The following table describes the strike price of each contract:
+The Long Iron Butterfly is an option strategy which involves four Option contracts. All the contracts have the same underlying stock and expiration, but the order of strike prices for the four contracts is $A>B>C$. The following table describes the strike price of each contract:
@@ -17,19 +15,19 @@
--1 OTM call |
+1 OTM call |
$A$ |
-1 ATM call |
+-1 ATM call |
$B$ |
-1 ATM put |
+-1 ATM put |
$B$ |
--1 OTM put |
+1 OTM put |
$C=B-(A-B)$ |
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/02 Implementation.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/02 Implementation.html
index c66f614fc6..f84b45c694 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/02 Implementation.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/02 Implementation.html
@@ -74,7 +74,7 @@
In the OnData
on_data
method, select the contracts and place the orders.
-
+
Approach B: Create a list of Leg
objects and then call the Combo Market Ordercombo_market_order, Combo Limit Ordercombo_limit_order, or Combo Leg Limit Ordercombo_leg_limit_order method.
@@ -94,10 +94,10 @@
var legs = new List<Leg>()
{
- Leg.Create(atmCall.Symbol, 1),
- Leg.Create(atmPut.Symbol, 1),
- Leg.Create(otmCall.Symbol, -1),
- Leg.Create(otmPut.Symbol, -1)
+ Leg.Create(atmCall.Symbol, -1),
+ Leg.Create(atmPut.Symbol, -1),
+ Leg.Create(otmCall.Symbol, 1),
+ Leg.Create(otmPut.Symbol, 1)
};
ComboMarketOrder(legs, 1);
# Select the contracts
@@ -107,10 +107,10 @@
otm_put = [x for x in puts if x.strike == otm_put_strike][0]
legs = [
- Leg.create(atm_call.symbol, 1),
- Leg.create(atm_put.symbol, 1),
- Leg.create(otm_call.symbol, -1),
- Leg.create(otm_put.symbol, -1)
+ Leg.create(atm_call.symbol, -1),
+ Leg.create(atm_put.symbol, -1),
+ Leg.create(otm_call.symbol, 1),
+ Leg.create(otm_put.symbol, 1)
]
self.combo_market_order(legs, 1)
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/03 Strategy Payoff.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/03 Strategy Payoff.html
index f679c4d170..0f2cf72334 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/03 Strategy Payoff.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/03 Strategy Payoff.html
@@ -4,15 +4,14 @@
-The long iron butterfly is a limited-reward-limited-risk strategy. The payoff is
-
+The long call butterfly is a limited-reward-limited-risk strategy. The payoff is
$$
\begin{array}{rcll}
C^{OTM}_T & = & (S_T - K^C_{OTM})^{+}\\
C^{ATM}_T & = & (S_T - K^C_{ATM})^{+}\\
P^{OTM}_T & = & (K^P_{OTM} - S_T)^{+}\\
P^{ATM}_T & = & (K^P_{ATM} - S_T)^{+}\\
-P_T & = & (C^{ATM}_T + P^{ATM}_T - C^{OTM}_T - P^{OTM}_T - C^{ATM}_0 - P^{ATM}_0 + C^{OTM}_0 + P^{OTM}_0)\times m - fee
+P_T & = & (C^{OTM}_T + P^{OTM}_T - C^{ATM}_T - P^{ATM}_T - C^{OTM}_0 - P^{OTM}_0 + C^{ATM}_0 + P^{ATM}_0)\times m - fee
\end{array}
$$
$$
@@ -27,10 +26,10 @@
& K^P_{OTM} & = & \textrm{OTM put strike price}\\
& K^P_{ATM} & = & \textrm{ATM put strike price}\\
& P_T & = & \textrm{Payout total at time T}\\
-& C^{OTM}_0 & = & \textrm{OTM call value at position opening (credit received)}\\
-& C^{ATM}_0 & = & \textrm{ATM call value at position opening (debit paid)}\\
-& P^{OTM}_0 & = & \textrm{OTM put value at position opening (credit received)}\\
-& P^{ATM}_0 & = & \textrm{ATM put value at position opening (debit paid)}\\
+& C^{OTM}_0 & = & \textrm{OTM call value at position opening (debit paid)}\\
+& C^{ATM}_0 & = & \textrm{ATM call value at position opening (credit received)}\\
+& P^{OTM}_0 & = & \textrm{OTM put value at position opening (debit paid)}\\
+& P^{ATM}_0 & = & \textrm{ATM put value at position opening (credit received)}\\
& m & = & \textrm{Contract multiplier}\\
& T & = & \textrm{Time of expiration}
\end{array}
@@ -40,6 +39,6 @@
-The maximum profit is $K^C_{OTM} - K^C_{ATM} - C^{ATM}_0 - P^{ATM}_0 + C^{OTM}_0 + P^{OTM}_0$. It occurs when the underlying price is below the OTM put strike price or above the OTM call strike price at expiration.
-The maximum loss is the net debit paid, $C^{OTM}_0 + P^{OTM}_0 - C^{ATM}_0 - P^{ATM}_0$. It occurs when the underlying price stays the same as when you opened the trade.
-If the Option is American Option, there is a risk of early assignment on the contracts you sell.
+The maximum profit is the net credit received, $C^{ATM}_0 + P^{ATM}_0 - C^{OTM}_0 - P^{OTM}_0$. It occurs when the underlying price stays the same as when you opened the trade.
+The maximum loss is $K^C_{OTM} - K^C_{ATM} - C^{ATM}_0 - P^{ATM}_0 + C^{OTM}_0 + P^{OTM}_0$. It occurs when the underlying price is below the OTM put strike price or above the OTM call strike price at expiration.
+If the Option is American Option, there is a risk of early assignment on the contracts you sell.
\ No newline at end of file
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/04 Example.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/04 Example.html
index a361dc9fc7..82652ef818 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/04 Example.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/04 Example.html
@@ -50,14 +50,14 @@
$$
So, the strategy losses $624.
-
\ No newline at end of file
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Iron Butterfly/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/05 Strategy Contract Filter.php
similarity index 83%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Iron Butterfly/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/05 Strategy Contract Filter.php
index a98e31d3d0..a8d485116e 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Iron Butterfly/05 Strategy Contract Filter.php
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/05 Strategy Contract Filter.php
@@ -1,5 +1,5 @@
- $strategy = "Iron Butterfly";
+ $strategy = "Long Iron Butterfly";
$nContracts = "4";
$csharpMethod = "IronButterfly(30, 5)";
$pythonMethod = "iron_butterfly(30, 5)"
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/metadata.json b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/metadata.json
index 39236b06f6..807ba654b4 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/metadata.json
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/15 Long Iron Butterfly/metadata.json
@@ -1,9 +1,9 @@
{
"type": "metadata",
"values": {
- "description": "The Iron Butterfly is an Option strategy that involves four Option contracts where the order of strike prices for the four contracts is A>B>C. ",
+ "description": "The Iron Butterfly is an Option strategy that involves four Option contracts where the order of strike prices for the four contracts is A>B=C>D. ",
"keywords": "multi-leg orders, iron butterfly option strategy, out-the-money call, profits from a decrease in price movement, profits from an increase in price movement, limited-reward-limited-risk strategy, risk of early assignment",
- "og:description": "The Iron Butterfly is an Option strategy that involves four Option contracts where the order of strike prices for the four contracts is A>B>C. ",
+ "og:description": "The Iron Butterfly is an Option strategy that involves four Option contracts where the order of strike prices for the four contracts is A>B=C>D. ",
"og:title": "Iron Butterfly - Documentation QuantConnect.com",
"og:type": "website",
"og:site_name": "Iron Butterfly - QuantConnect.com",
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/01 Introduction.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/01 Introduction.html
index b14d5ebf8f..4d373d4e17 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/01 Introduction.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/01 Introduction.html
@@ -4,8 +4,6 @@
-Warning: There is currently no OptionStrategies
method for Short Iron Butterfly orders, so this tutorial manually orders the individual legs in the strategy. If you manually place multi-leg orders one at a time while there is no liquidity at a strike price, you can get stuck in an unhedged position.
-
The Short Iron Butterfly is an option strategy which involves four Option contracts. All the contracts have the same underlying stock and expiration, but the order of strike prices for the four contracts is $A>B>C$. The following table describes the strike price of each contract:
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/02 Implementation.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/02 Implementation.html
index 80ce6fcc40..c6a89bd74f 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/02 Implementation.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/02 Implementation.html
@@ -74,7 +74,7 @@
In the OnData
on_data
method, select the contracts and place the orders.
-
+
Approach B: Create a list of Leg
objects and then call the Combo Market Ordercombo_market_order, Combo Limit Ordercombo_limit_order, or Combo Leg Limit Ordercombo_leg_limit_order method.
@@ -94,10 +94,10 @@
var legs = new List<Leg>()
{
- Leg.Create(atmCall.Symbol, -1),
- Leg.Create(atmPut.Symbol, -1),
- Leg.Create(otmCall.Symbol, 1),
- Leg.Create(otmPut.Symbol, 1)
+ Leg.Create(atmCall.Symbol, 1),
+ Leg.Create(atmPut.Symbol, 1),
+ Leg.Create(otmCall.Symbol, -1),
+ Leg.Create(otmPut.Symbol, -1)
};
ComboMarketOrder(legs, 1);
# Select the contracts
@@ -107,11 +107,11 @@
otm_put = [x for x in puts if x.strike == otm_put_strike][0]
legs = [
- Leg.create(atm_call.symbol, -1),
- Leg.create(atm_put.symbol, -1),
- Leg.create(otm_call.symbol, 1),
- Leg.create(otm_put.symbol, 1)
+ Leg.create(atm_call.symbol, 1),
+ Leg.create(atm_put.symbol, 1),
+ Leg.create(otm_call.symbol, -1),
+ Leg.create(otm_put.symbol, -1)
]
self.combo_market_order(legs, 1)
-
+
\ No newline at end of file
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/03 Strategy Payoff.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/03 Strategy Payoff.html
index 37014481e7..24c47722a6 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/03 Strategy Payoff.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/03 Strategy Payoff.html
@@ -4,14 +4,15 @@
-The short call butterfly is a limited-reward-limited-risk strategy. The payoff is
+The short iron butterfly is a limited-reward-limited-risk strategy. The payoff is
+
$$
\begin{array}{rcll}
C^{OTM}_T & = & (S_T - K^C_{OTM})^{+}\\
C^{ATM}_T & = & (S_T - K^C_{ATM})^{+}\\
P^{OTM}_T & = & (K^P_{OTM} - S_T)^{+}\\
P^{ATM}_T & = & (K^P_{ATM} - S_T)^{+}\\
-P_T & = & (C^{OTM}_T + P^{OTM}_T - C^{ATM}_T - P^{ATM}_T - C^{OTM}_0 - P^{OTM}_0 + C^{ATM}_0 + P^{ATM}_0)\times m - fee
+P_T & = & (C^{ATM}_T + P^{ATM}_T - C^{OTM}_T - P^{OTM}_T - C^{ATM}_0 - P^{ATM}_0 + C^{OTM}_0 + P^{OTM}_0)\times m - fee
\end{array}
$$
$$
@@ -26,10 +27,10 @@
& K^P_{OTM} & = & \textrm{OTM put strike price}\\
& K^P_{ATM} & = & \textrm{ATM put strike price}\\
& P_T & = & \textrm{Payout total at time T}\\
-& C^{OTM}_0 & = & \textrm{OTM call value at position opening (debit paid)}\\
-& C^{ATM}_0 & = & \textrm{ATM call value at position opening (credit received)}\\
-& P^{OTM}_0 & = & \textrm{OTM put value at position opening (debit paid)}\\
-& P^{ATM}_0 & = & \textrm{ATM put value at position opening (credit received)}\\
+& C^{OTM}_0 & = & \textrm{OTM call value at position opening (credit received)}\\
+& C^{ATM}_0 & = & \textrm{ATM call value at position opening (debit paid)}\\
+& P^{OTM}_0 & = & \textrm{OTM put value at position opening (credit received)}\\
+& P^{ATM}_0 & = & \textrm{ATM put value at position opening (debit paid)}\\
& m & = & \textrm{Contract multiplier}\\
& T & = & \textrm{Time of expiration}
\end{array}
@@ -39,6 +40,6 @@
-The maximum profit is the net credit received, $C^{ATM}_0 + P^{ATM}_0 - C^{OTM}_0 - P^{OTM}_0$. It occurs when the underlying price stays the same as when you opened the trade.
-The maximum loss is $K^C_{OTM} - K^C_{ATM} - C^{ATM}_0 - P^{ATM}_0 + C^{OTM}_0 + P^{OTM}_0$. It occurs when the underlying price is below the OTM put strike price or above the OTM call strike price at expiration.
+The maximum profit is $K^C_{OTM} - K^C_{ATM} - C^{ATM}_0 - P^{ATM}_0 + C^{OTM}_0 + P^{OTM}_0$. It occurs when the underlying price is below the OTM put strike price or above the OTM call strike price at expiration.
+The maximum loss is the net debit paid, $C^{OTM}_0 + P^{OTM}_0 - C^{ATM}_0 - P^{ATM}_0$. It occurs when the underlying price stays the same as when you opened the trade.
If the Option is American Option, there is a risk of early assignment on the contracts you sell.
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/04 Example.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/04 Example.html
index 44384879d1..c3ce34e25b 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/04 Example.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/04 Example.html
@@ -50,14 +50,14 @@
$$
So, the strategy losses $39.
-
\ No newline at end of file
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/05 Strategy Contract Filter.php
new file mode 100644
index 0000000000..09eecee656
--- /dev/null
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Short Iron Butterfly/05 Strategy Contract Filter.php
@@ -0,0 +1,7 @@
+
+ $strategy = "Short Iron Butterfly";
+ $nContracts = "4";
+ $csharpMethod = "IronButterfly(30, 5)";
+ $pythonMethod = "iron_butterfly(30, 5)"
+ include(DOCS_RESOURCES."/universes/option/option-strategy-filter-universe.php");
+?>
\ No newline at end of file
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/01 Introduction.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/01 Introduction.html
index 56a0697d37..876aa95c06 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/01 Introduction.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/01 Introduction.html
@@ -3,7 +3,9 @@
-The Iron Condor is an Option strategy that consists of four contracts. All the contracts have the same underlying Equity and expiration, but the order of strike prices is $A>B>C>D$. The following table describes the strike prices of each contract:
+
+The Long Iron Condor is an Option strategy that consists of four contracts. All the contracts have the same underlying Equity and expiration, but the order of strike prices is $A>B>C>D$. The following table describes the strike prices of each contract:
+
@@ -13,21 +15,23 @@
--1 far-OTM call |
+1 far-OTM call |
$A$ |
-1 near-OTM call |
+-1 near-OTM call |
$B, where B > underlying\ price$ |
-1 near-OTM put |
+-1 near-OTM put |
$C, where C < underlying\ price$ |
--1 far-OTM put |
+1 far-OTM put |
$D, where C-D = A-B$ |
-The long iron condor consists of selling a far OTM call, selling a far OTM put, buying a near OTM call, and buying a near OTM put. This strategy profits from a increase in price movement (implied volatility).
\ No newline at end of file
+
+The long iron condor consists of buying a far OTM call, buying a far OTM put, selling a near ATM call, and selling a near ATM put. This strategy profits from an decrease in price movement (implied volatility) and time decay since ATM options decay sharper.
+
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/02 Implementation.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/02 Implementation.html
index cb421f8d91..e1fe160ea3 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/02 Implementation.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/02 Implementation.html
@@ -52,10 +52,10 @@
if (putContracts.Length < 3 || callContracts.Length < 3) return;
// Select the strategy legs
- var farPut = putContracts[0];
- var nearPut = putContracts[2];
var nearCall = callContracts[^3];
- var farCall = callContracts[^1];
+ var farCall = callContracts[^1];
+ var nearPut = putContracts[2];
+ var farPut = putContracts.Single(x => x.Strike == nearPut.Strike - farCall.Strike + nearCall.Strike);
def on_data(self, slice: Slice) -> None:
if self.portfolio[self._symbol.underlying].invested:
self.liquidate()
@@ -78,10 +78,10 @@
return
# Select the strategy legs
- far_put = put_contracts[0]
- near_put = put_contracts[2]
near_call = call_contracts[-3]
- far_call = call_contracts[-1]
+ far_call = call_contracts[-1]
+ near_put = put_contracts[2]
+ far_put = [x for x in put_contracts if x.Strike == near_put.strike - far_call.strike + near_call.strike][0]
In the OnData
on_data
method, place the orders.
@@ -107,23 +107,23 @@
self.buy(iron_condor, 2)
-
+
Approach B: Create a list of Leg
objects and then call the Combo Market Ordercombo_market_order, Combo Limit Ordercombo_limit_order, or Combo Leg Limit Ordercombo_leg_limit_order method.
var legs = new List<Leg>()
{
- Leg.Create(farPut.Symbol, -1),
- Leg.Create(nearPut.Symbol, 1),
- Leg.Create(farCall.Symbol, -1),
- Leg.Create(nearCall.Symbol, 1)
+ Leg.Create(farPut.Symbol, 1),
+ Leg.Create(nearPut.Symbol, -1),
+ Leg.Create(farCall.Symbol, 1),
+ Leg.Create(nearCall.Symbol, -1)
};
ComboMarketOrder(legs, 1);
legs = [
- Leg.create(far_put.symbol, -1),
- Leg.create(near_put.symbol, 1),
- Leg.create(far_call.symbol, -1),
- Leg.create(near_call.symbol, 1)
+ Leg.create(far_put.symbol, 1),
+ Leg.create(near_put.symbol, -1),
+ Leg.create(far_call.symbol, 1),
+ Leg.create(near_call.symbol, -1)
]
self.combo_market_order(legs, 1)
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/03 Strategy Payoff.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/03 Strategy Payoff.html
index 9abd6696d7..1ce93a6a7c 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/03 Strategy Payoff.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/03 Strategy Payoff.html
@@ -11,7 +11,7 @@
C^{near}_T & = & (S_T - K^C_{near})^{+}\\
P^{far}_T & = & (K^P_{far} - S_T)^{+}\\
P^{near}_T & = & (K^P_{near} - S_T)^{+}\\
-P_T & = & (C^{near}_T + P^{near}_T - C^{far}_T - P^{far}_T - C^{near}_0 - P^{near}_0 + C^{far}_0 + P^{far}_0)\times m - fee
+P_T & = & (C^{far}_T + P^{far}_T - C^{near}_T - P^{near}_T - C^{far}_0 - P^{far}_0 + C^{near}_0 + P^{near}_0)\times m - fee
\end{array}
$$
$$
@@ -38,6 +38,6 @@
The following chart shows the payoff at expiration:
-The maximum profit is $K^C_{far} - K^C_{near} - C^{near}_0 - P^{near}_0 + C^{far}_0 + P^{far}_0$, where $K^P_{OTM} > S_T$ or $S_T > K^C_{OTM}$.
-The maximum loss is the net debit paid: $C^{far}_0 + P^{far}_0 - C^{near}_0 - P^{near}_0$, where $K^P_{OTM} < S_T < K^C_{OTM}$.
+The maximum profit is the net credit received after commission when opening the trade, where $K^P_{OTM} < S_T < K^C_{OTM}$.
+The maximum loss is $K^C_{far} - K^C_{near} + C^{near}_0 + P^{near}_0 - C^{far}_0 - P^{far}_0$, where $K^P_{OTM} > S_T$ or $S_T > K^C_{OTM}$.
If the Option is American Option, there is a risk of early assignment on the contracts you sell.
\ No newline at end of file
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/04 Example.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/04 Example.html
index cd585b687e..b3bacf70f5 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/04 Example.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/04 Example.html
@@ -11,10 +11,10 @@
Asset | Price ($) | Strike ($) |
-Far-OTM call | 1.05 | 857.50 |
-Far-OTM put | 2.15 | 815.00 |
-Near-OTM call | 2.75 | 852.50 |
-Near-OTM put | 4.80 | 820.00 |
+Far-OTM call | 1.85 | 857.50 |
+Far-OTM put | 3.80 | 815.00 |
+Near-OTM call | 1.65 | 852.50 |
+Near-OTM put | 3.50 | 820.00 |
Underlying Equity at expiration | 843.25 | - |
@@ -45,21 +45,21 @@
& = & (820.00-843.25)^{+}\\
& = & 0\\
P_T & = & (C^{near}_T + P^{near}_T - C^{far}_T - P^{far}_T - C^{near}_0 - P^{near}_0 + C^{far}_0 + P^{far}_0)\times m - fee\\
-& = & (0+0-0-0-2.75-4.80+1.05+2.15)\times100-1\times4\\
-& = & -439
+& = & (0+0-0-0+1.65+3.50-1.85-3.80)\times100-1\times4\\
+& = & -54
\end{array}
$$
-So, the strategy loses $439.
-
+
Demonstration Algorithm
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Iron Condor/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/05 Strategy Contract Filter.php
similarity index 85%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Iron Condor/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/05 Strategy Contract Filter.php
index e7270d3093..98a251aadf 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/16 Iron Condor/05 Strategy Contract Filter.php
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Long Iron Condor/05 Strategy Contract Filter.php
@@ -1,5 +1,5 @@
- $strategy = "Iron Condor";
+ $strategy = "Long Iron Condor";
$nContracts = "4";
$csharpMethod = "IronCondor(30, 5, 10)";
$pythonMethod = "iron_condor(30, 5, 10)"
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/01 Introduction.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/01 Introduction.html
index ab707a2411..30dc841588 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/01 Introduction.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/01 Introduction.html
@@ -4,8 +4,6 @@
-
Warning: There is currently no OptionStrategies
method for Short Iron Condor orders, so this tutorial manually orders the individual legs in the strategy. If you manually place multi-leg orders one at a time while there is no liquidity at a strike price, you can get stuck in an unhedged position.
-
The Short Iron Condor is an Option strategy that consists of four contracts. All the contracts have the same underlying Equity and expiration, but the order of strike prices is $A>B>C>D$. The following table describes the strike prices of each contract:
@@ -17,23 +15,21 @@
-1 far-OTM call |
+-1 far-OTM call |
$A$ |
--1 near-OTM call |
+1 near-OTM call |
$B, where B > underlying\ price$ |
--1 near-OTM put |
+1 near-OTM put |
$C, where C < underlying\ price$ |
-1 far-OTM put |
+-1 far-OTM put |
$D, where C-D = A-B$ |
-
-
The short iron condor consists of buying a far OTM call, buying a far OTM put, selling a near ATM call, and selling a near ATM put. This strategy profits from an decrease in price movement (implied volatility) and time decay since ATM options decay sharper.
-
+
The short iron condor consists of selling a far OTM call, selling a far OTM put, buying a near OTM call, and buying a near OTM put. This strategy profits from a increase in price movement (implied volatility).
\ No newline at end of file
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/02 Implementation.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/02 Implementation.html
index 29fd2506d3..413e22466a 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/02 Implementation.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/02 Implementation.html
@@ -52,10 +52,10 @@
if (putContracts.Length < 3 || callContracts.Length < 3) return;
// Select the strategy legs
- var nearCall = callContracts[^3];
- var farCall = callContracts[^1];
+ var farPut = putContracts[0];
var nearPut = putContracts[2];
- var farPut = putContracts.Single(x => x.Strike == nearPut.Strike - farCall.Strike + nearCall.Strike);
+ var nearCall = callContracts[^3];
+ var farCall = callContracts[^1];
def on_data(self, slice: Slice) -> None:
if self.portfolio[self._symbol.underlying].invested:
self.liquidate()
@@ -78,14 +78,14 @@
return
# Select the strategy legs
- near_call = call_contracts[-3]
- far_call = call_contracts[-1]
+ far_put = put_contracts[0]
near_put = put_contracts[2]
- far_put = [x for x in put_contracts if x.Strike == near_put.strike - far_call.strike + near_call.strike][0]
+ near_call = call_contracts[-3]
+ far_call = call_contracts[-1]
In the OnData
on_data
method, place the orders.
-
+
Approach B: Create a list of Leg
objects and then call the Combo Market Ordercombo_market_order, Combo Limit Ordercombo_limit_order, or Combo Leg Limit Ordercombo_leg_limit_order method.
var legs = new List<Leg>()
{
- Leg.Create(farPut.Symbol, 1),
- Leg.Create(nearPut.Symbol, -1),
- Leg.Create(farCall.Symbol, 1),
- Leg.Create(nearCall.Symbol, -1)
+ Leg.Create(farPut.Symbol, -1),
+ Leg.Create(nearPut.Symbol, 1),
+ Leg.Create(farCall.Symbol, -1),
+ Leg.Create(nearCall.Symbol, 1)
};
ComboMarketOrder(legs, 1);
legs = [
- Leg.create(far_put.symbol, 1),
- Leg.create(near_put.symbol, -1),
- Leg.create(far_call.symbol, 1),
- Leg.create(near_call.symbol, -1)
+ Leg.create(far_put.symbol, -1),
+ Leg.create(near_put.symbol, 1),
+ Leg.create(far_call.symbol, -1),
+ Leg.create(near_call.symbol, 1)
]
self.combo_market_order(legs, 1)
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/03 Strategy Payoff.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/03 Strategy Payoff.html
index 6976b0920d..03611a5d8a 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/03 Strategy Payoff.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/03 Strategy Payoff.html
@@ -11,7 +11,7 @@
C^{near}_T & = & (S_T - K^C_{near})^{+}\\
P^{far}_T & = & (K^P_{far} - S_T)^{+}\\
P^{near}_T & = & (K^P_{near} - S_T)^{+}\\
-P_T & = & (C^{far}_T + P^{far}_T - C^{near}_T - P^{near}_T - C^{far}_0 - P^{far}_0 + C^{near}_0 + P^{near}_0)\times m - fee
+P_T & = & (C^{near}_T + P^{near}_T - C^{far}_T - P^{far}_T - C^{near}_0 - P^{near}_0 + C^{far}_0 + P^{far}_0)\times m - fee
\end{array}
$$
$$
@@ -38,6 +38,6 @@
The following chart shows the payoff at expiration:
-The maximum profit is the net credit received after commission when opening the trade, where $K^P_{OTM} < S_T < K^C_{OTM}$.
-The maximum loss is $K^C_{far} - K^C_{near} + C^{near}_0 + P^{near}_0 - C^{far}_0 - P^{far}_0$, where $K^P_{OTM} > S_T$ or $S_T > K^C_{OTM}$.
+The maximum profit is $K^C_{far} - K^C_{near} - C^{near}_0 - P^{near}_0 + C^{far}_0 + P^{far}_0$, where $K^P_{OTM} > S_T$ or $S_T > K^C_{OTM}$.
+The maximum loss is the net debit paid: $C^{far}_0 + P^{far}_0 - C^{near}_0 - P^{near}_0$, where $K^P_{OTM} < S_T < K^C_{OTM}$.
If the Option is American Option, there is a risk of early assignment on the contracts you sell.
\ No newline at end of file
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/04 Example.html b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/04 Example.html
index 00a3a157ff..5e9d4a3a34 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/04 Example.html
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/04 Example.html
@@ -11,10 +11,10 @@
Asset | Price ($) | Strike ($) |
-Far-OTM call | 1.85 | 857.50 |
-Far-OTM put | 3.80 | 815.00 |
-Near-OTM call | 1.65 | 852.50 |
-Near-OTM put | 3.50 | 820.00 |
+Far-OTM call | 1.05 | 857.50 |
+Far-OTM put | 2.15 | 815.00 |
+Near-OTM call | 2.75 | 852.50 |
+Near-OTM put | 4.80 | 820.00 |
Underlying Equity at expiration | 843.25 | - |
@@ -45,21 +45,21 @@
& = & (820.00-843.25)^{+}\\
& = & 0\\
P_T & = & (C^{near}_T + P^{near}_T - C^{far}_T - P^{far}_T - C^{near}_0 - P^{near}_0 + C^{far}_0 + P^{far}_0)\times m - fee\\
-& = & (0+0-0-0+1.65+3.50-1.85-3.80)\times100-1\times4\\
-& = & -54
+& = & (0+0-0-0-2.75-4.80+1.05+2.15)\times100-1\times4\\
+& = & -439
\end{array}
$$
So, the strategy loses $54.
-
\ No newline at end of file
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/05 Strategy Contract Filter.php
new file mode 100644
index 0000000000..ef5986eb37
--- /dev/null
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/05 Strategy Contract Filter.php
@@ -0,0 +1,7 @@
+
+ $strategy = "Short Iron Condor";
+ $nContracts = "4";
+ $csharpMethod = "IronCondor(30, 5, 10)";
+ $pythonMethod = "iron_condor(30, 5, 10)"
+ include(DOCS_RESOURCES."/universes/option/option-strategy-filter-universe.php");
+?>
\ No newline at end of file
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/metadata.json b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/metadata.json
index d3e4d15a43..5fdc804205 100644
--- a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/metadata.json
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Short Iron Condor/metadata.json
@@ -1,12 +1,12 @@
{
"type": "metadata",
"values": {
- "description": "The Iron Condor is an Option strategy that consists of four contracts where the order of strike prices is A>B>C>D.",
+ "description": "The Short Iron Condor is an Option strategy that consists of four contracts where the order of strike prices is A>B>C>D.",
"keywords": "iron condor option strategy, manually place multi-leg orders, profits from a decrease in price movement, profits from an increase in price movement, limited-reward-limited-risk strategy, risk of early assignment",
- "og:description": "The Iron Condor is an Option strategy that consists of four contracts where the order of strike prices is A>B>C>D.",
- "og:title": "Iron Condor - Documentation QuantConnect.com",
+ "og:description": "The Short Iron Condor is an Option strategy that consists of four contracts where the order of strike prices is A>B>C>D.",
+ "og:title": "Short Iron Condor - Documentation QuantConnect.com",
"og:type": "website",
- "og:site_name": "Iron Condor - QuantConnect.com",
+ "og:site_name": "Short Iron Condor - QuantConnect.com",
"og:image": "https://cdn.quantconnect.com/docs/i/writing-algorithms/trading-and-orders/option-strategies/short-iron-condor.png"
}
}
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/19 Naked Call/99 Example.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/19 Naked Call/04 Example.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/19 Naked Call/99 Example.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/19 Naked Call/04 Example.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Naked Call/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/19 Naked Call/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/17 Naked Call/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/19 Naked Call/05 Strategy Contract Filter.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/20 Naked Put/99 Example.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/20 Naked Put/04 Example.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/20 Naked Put/99 Example.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/20 Naked Put/04 Example.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Naked Put/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/20 Naked Put/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/18 Naked Put/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/20 Naked Put/05 Strategy Contract Filter.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/19 Protective Call/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/21 Protective Call/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/19 Protective Call/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/21 Protective Call/05 Strategy Contract Filter.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/20 Protective Put/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/22 Protective Put/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/20 Protective Put/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/22 Protective Put/05 Strategy Contract Filter.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/21 Protective Collar/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/23 Protective Collar/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/21 Protective Collar/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/23 Protective Collar/05 Strategy Contract Filter.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/24 Long Straddle/99 Example.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/24 Long Straddle/04 Example.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/24 Long Straddle/99 Example.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/24 Long Straddle/04 Example.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/22 Long Straddle/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/24 Long Straddle/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/22 Long Straddle/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/24 Long Straddle/05 Strategy Contract Filter.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/25 Short Straddle/99 Example.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/25 Short Straddle/04 Example.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/25 Short Straddle/99 Example.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/25 Short Straddle/04 Example.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/23 Short Straddle/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/25 Short Straddle/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/23 Short Straddle/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/25 Short Straddle/05 Strategy Contract Filter.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/26 Long Strangle/99 Example.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/26 Long Strangle/04 Example.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/26 Long Strangle/99 Example.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/26 Long Strangle/04 Example.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/24 Long Strangle/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/26 Long Strangle/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/24 Long Strangle/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/26 Long Strangle/05 Strategy Contract Filter.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/27 Short Strangle/99 Example.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/27 Short Strangle/04 Example.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/27 Short Strangle/99 Example.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/27 Short Strangle/04 Example.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/27 Short Strangle/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/27 Short Strangle/05 Strategy Contract Filter.php
new file mode 100644
index 0000000000..ed3886fa6c
--- /dev/null
+++ b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/27 Short Strangle/05 Strategy Contract Filter.php
@@ -0,0 +1,7 @@
+
+ $strategy = "Short Strangle";
+ $nContracts = "2";
+ $csharpMethod = "Strangle(30, 5, -10)";
+ $pythonMethod = "strangle(30, 5, -10)"
+ include(DOCS_RESOURCES."/universes/option/option-strategy-filter-universe.php");
+?>
\ No newline at end of file
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/27 Conversion/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/28 Conversion/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/27 Conversion/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/28 Conversion/05 Strategy Contract Filter.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/28 Reverse Conversion/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/29 Reverse Conversion/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/28 Reverse Conversion/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/29 Reverse Conversion/05 Strategy Contract Filter.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/29 Box Spread/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/30 Box Spread/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/29 Box Spread/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/30 Box Spread/05 Strategy Contract Filter.php
diff --git a/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/30 Short Box Spread/05 Strategy Contract Filter.php b/03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/31 Short Box Spread/05 Strategy Contract Filter.php
similarity index 100%
rename from 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/30 Short Box Spread/05 Strategy Contract Filter.php
rename to 03 Writing Algorithms/22 Trading and Orders/07 Option Strategies/31 Short Box Spread/05 Strategy Contract Filter.php