Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Offset Sold Puts/Calls #142

Open
wants to merge 40 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
4380f66
Initial Commit
pattertj Feb 7, 2022
187e42b
code cleanup
pattertj Feb 7, 2022
9461da6
more cleanup
pattertj Feb 7, 2022
48b3c3f
refinements
pattertj Feb 7, 2022
519efc9
fixing calculation
pattertj Feb 8, 2022
dc17ef3
date bug fix
pattertj Feb 8, 2022
e0e5961
Merge branch 'Wide-Spreads' of https://github.com/pattertj/LoopTrader…
pattertj Feb 8, 2022
4670bd2
revised logic. May move into singlebydelta strat
pattertj Feb 8, 2022
35a5e4e
moving max_spread logic to single strat as offset
pattertj Feb 9, 2022
e9b9d16
reverting spreads logic.
pattertj Feb 9, 2022
3571ffe
code cleanup
pattertj Feb 9, 2022
1610e3a
'Refactored by Sourcery'
Feb 9, 2022
399e329
Merge pull request #145 from pattertj/sourcery/Wide-Spreads
pattertj Feb 9, 2022
5b79c04
code cleanup
pattertj Feb 9, 2022
3e97928
bug fixes and cleanup
pattertj Feb 14, 2022
9bf9b9c
cleanup
pattertj Feb 14, 2022
b408cf8
bug fix for order_types
pattertj Feb 15, 2022
298899a
Don't close offsetting legs and reuse when we can.
pattertj Feb 16, 2022
129384d
Fixing logic to handle partial fills
pattertj Feb 18, 2022
71bc476
Cleanup and fixes
pattertj Feb 18, 2022
f6ceedd
more cleanup
pattertj Feb 18, 2022
2970493
cleanups
pattertj Feb 18, 2022
f32b3c5
cleanup
pattertj Feb 18, 2022
4340f6f
Implemented dynamic PT and bug fixes
pattertj Feb 22, 2022
7474934
cleanup and bug fixes
pattertj Feb 25, 2022
7490579
cleanup
pattertj Mar 1, 2022
acd310f
Merge branch 'main' into Wide-Spreads
pattertj Mar 2, 2022
979e687
adding portfolio check to offset logic
pattertj Mar 3, 2022
14af420
Merge branch 'Wide-Spreads' of https://github.com/pattertj/LoopTrader…
pattertj Mar 3, 2022
694835e
'Refactored by Sourcery'
Mar 3, 2022
3563681
Merge pull request #146 from pattertj/sourcery/Wide-Spreads
pattertj Mar 3, 2022
0c16a27
cleanup
pattertj Mar 10, 2022
6f0e921
reorganized and cleaned up
pattertj Mar 11, 2022
17dcd65
brokerage unit tests
pattertj Mar 14, 2022
cdb7fcd
more cleanups
pattertj Mar 14, 2022
5b2bb2f
'Refactored by Sourcery'
Mar 14, 2022
c3fdcf7
Merge pull request #147 from pattertj/sourcery/Wide-Spreads
pattertj Mar 14, 2022
1a127a8
black cleanup
pattertj Mar 14, 2022
77a8977
added variable max_loss and indv stocks
pattertj Mar 15, 2022
e606a14
I forgot what this is
pattertj May 27, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 46 additions & 2 deletions looptrader/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,63 @@
vgshstrat = LongSharesStrategy(
strategy_name="VGSH Core", underlying="VGSH", portfolio_allocation_percent=0.9
)

cspstrat = SingleByDeltaStrategy(
strategy_name="Puts",
put_or_call="PUT",
target_delta=0.07,
min_delta=0.03,
profit_target_percent=0.7,
profit_target_percent=(0.95, 0.04, 0.70),
max_loss_calc_percent=dict({1: 0.2, 2: 0.2}),
)

tsla_strat = SingleByDeltaStrategy(
strategy_name="TSLA Puts",
put_or_call="PUT",
underlying="TSLA",
target_delta=0.05,
min_delta=0.03,
minimum_dte=3,
maximum_dte=7,
portfolio_allocation_percent=0.05,
profit_target_percent=0.95,
max_loss_calc_percent=0.2,
)

amzn_strat = SingleByDeltaStrategy(
strategy_name="AMZN Puts",
put_or_call="PUT",
underlying="AMZN",
target_delta=0.05,
min_delta=0.03,
minimum_dte=3,
maximum_dte=7,
portfolio_allocation_percent=0.05,
profit_target_percent=0.95,
max_loss_calc_percent=0.2,
)

nakedcalls = SingleByDeltaStrategy(
strategy_name="Calls",
put_or_call="CALL",
target_delta=0.03,
min_delta=0.01,
profit_target_percent=0.83,
portfolio_allocation_percent=1.5,
offset_sold_positions=True,
)

spreadstrat = SpreadsByDeltaStrategy(strategy_name="spreads", targetdelta=-0.07)

ira_puts = SingleByDeltaStrategy(
strategy_name="ira_Puts",
put_or_call="PUT",
target_delta=0.07,
min_delta=0.03,
profit_target_percent=(0.95, 0.04, 0.70),
offset_sold_positions=True,
portfolio_allocation_percent=2.0,
)
spreadstrat = SpreadsByDeltaStrategy(strategy_name="spreads")

# Create our brokers
individualbroker = TdaBroker(id="individual")
Expand All @@ -51,6 +93,8 @@
bot = Bot(
brokerstrategy={
spreadstrat: irabroker,
tsla_strat: individualbroker,
# amzn_strat: individualbroker,
cspstrat: individualbroker,
nakedcalls: individualbroker,
vgshstrat: individualbroker,
Expand Down
Loading