Getting the Final Trade Log of Entropy Alpha Strategy with Entry and Exit
Let’s jump directly to the discussion from where we had left in the last part. So far We have a fresh trade log and our goal is –
- We will simulate the trades in our trade log and,
- We will checkout the trade performance and,
- We will analyze that details with various popular trading metrics to get an overview of strength of our strategy.
Click here to read the First Part
Step 6 — Simulate the Trades
The goal is simple. We will simulate the trades. There will be three new variables –
- square_off_time: It will contain the time of when our trade hits target. If it does not hit target, then it will be marked as 14:50 PM.
- square_off_price: If the price of the stock reaches the day high, it means target is hit. It will mark that price. And if the target is not hit, it will close the trade at 14:50 PM and mark that price.
- is_target: A boolean value to check if the target is hit or not.
Triggered at stocks Trigger Date Trigger Time price high square_off_time square_off_price is_target
59 2023-04-03 10:01:00 MARUTI 2023-04-03 10:01:00 8558.15 8634.85 2023-04-03 14:50:00+05:30 8554.20 False
57 2023-04-03 10:04:00 M&M 2023-04-03 10:04:00 1178.5 1187.15 2023-04-03 10:22:00+05:30 1187.15 True
54 2023-04-03 10:10:00 ASHOKLEY 2023-04-03 10:10:00 142.6 143.30 2023-04-03 14:50:00+05:30 141.60 False
53 2023-04-03 10:16:00 CHAMBLFERT 2023-04-03 10:16:00 270.65 273.90 2023-04-03 15:19:00+05:30 273.90 True
51 2023-04-03 10:17:00 GMRINFRA 2023-04-03 10:17:00 42.8 43.95 2023-04-03 14:04:00+05:30 43.95 True
... ... ... ... ... ...
4 2023-04-20 12:49:00 CUB 2023-04-20 12:49:00 132.7 134.35 2023-04-20 14:50:00+05:30 133.25 False
3 2023-04-20 14:16:00 BAJAJ-AUTO 2023-04-20 14:16:00 4321 4336.60 2023-04-20 14:50:00+05:30 4317.85 False
2 2023-04-20 15:21:00 TATACONSUM 2023-04-20 15:21:00 705.7 706.50 2023-04-20 14:50:00+05:30 705.00 False
1 2023-04-21 09:58:00 ASIANPAINT 2023-04-21 09:58:00 2854.75 2888.00 2023-04-21 14:23:00+05:30 2888.00 True
0 2023-04-21 10:07:00 APOLLOTYRE 2023-04-21 10:07:00 335.5 337.85 2023-04-21 14:50:00+05:30 334.05 False
60 rows × 9 columns
Step 7 — Lot Sizes and Cosmetic Changes
Now, Let’s add the Lot Sizes so that we can simulate how much profit and loss happened if the trades are taken with 1 Lot. In derivatives, Lot size of each stock derivative is different! It is available in the same instrument list from where we retrieved our instrument_token
. Let’s code a small function for lot sizes and add the value in a new column named lotsize
–
def get_lotsize(tradesymbol,exchange="NFO"):
if(exchange=="NSE"):
if(tradesymbol=="NIFTY"):tradesymbol="NIFTY 50"
if(tradesymbol=="BANKNIFTY"):tradesymbol="NIFTY BANK"
#print(tradesymbol)
#print(exchange)
dataToken = instrumentList[(instrumentList['tradingsymbol'] == tradesymbol)&(instrumentList['exchange']==exchange)]
return dataToken.lot_size.iloc[0]
df["lotsize"] = df["stocks"].apply(lambda x: get_lotsize(x+"23APRFUT"))
Now, there is a minor beautification needed. If you notice the values of Triggered at
, it will look like “2023-04-20 15:21:00”. While the values of square_off_time
looks like “2023-04-20 14:50:00+05:30”. It means it is adding the timezone. Anyways, We need to make the format uniform
df['square_off_time'] = df['square_off_time'].apply(lambda x: datetime.datetime.strptime(str(x)[:-6], '%Y-%m-%d %H:%M:%S'))
Step 8 — Calculate the Money
Let’s do three things –
- Remove the
Trigger Date
andTrigger Time
column. - Rename the
price
column toentry_price
. - Calculate the Profit/Loss points i.e.
pl_points = square_off_price - entry_price.
- Calculate the
Net profit
by multiplying that points withlot size
.
# remove "Trigger Date" column
df = df.drop("Trigger Date", axis=1)
# remove "Trigger Time" column
df = df.drop("Trigger Time", axis=1)
# rename "target" column to "pl"
df = df.rename(columns={"price": "entry_price"})
df["pl_points"] = df["square_off_price"]-df["entry_price"]
df["pl"] = df["pl_points"]*df["lotsize"]
df
The Final Trade Log
And, We get the Final output with entire trade log with their entry and exit –
Triggered at stocks entry_price high square_off_time square_off_price is_target lotsize pl_points pl
59 2023-04-03 10:01:00 MARUTI 8558.15 8634.85 2023-04-03 14:50:00 8554.20 False 100 -3.95 -395.0
57 2023-04-03 10:04:00 M&M 1178.5 1187.15 2023-04-03 10:22:00 1187.15 True 700 8.65 6055.0
54 2023-04-03 10:10:00 ASHOKLEY 142.6 143.30 2023-04-03 14:50:00 141.60 False 5000 -1.0 -5000.0
53 2023-04-03 10:16:00 CHAMBLFERT 270.65 273.90 2023-04-03 15:19:00 273.90 True 1500 3.25 4875.0
51 2023-04-03 10:17:00 GMRINFRA 42.8 43.95 2023-04-03 14:04:00 43.95 True 22500 1.15 25875.0
50 2023-04-03 14:48:00 CROMPTON 300.3 301.80 2023-04-03 14:50:00 299.75 False 1500 -0.55 -825.0
49 2023-04-05 10:48:00 TATACOMM 1261.45 1284.40 2023-04-05 12:19:00 1284.40 True 500 22.95 11475.0
48 2023-04-06 09:56:00 POWERGRID 227 228.25 2023-04-06 14:50:00 226.10 False 2700 -0.9 -2430.0
47 2023-04-06 10:31:00 SBIN 531.8 534.95 2023-04-06 10:50:00 534.95 True 1500 3.15 4725.0
46 2023-04-06 10:46:00 BAJFINANCE 5875 5990.00 2023-04-06 14:50:00 5948.60 False 125 73.6 9200.0
45 2023-04-06 12:37:00 IPCALAB 838.2 844.60 2023-04-06 14:50:00 831.65 False 650 -6.55 -4257.5
44 2023-04-10 10:05:00 INDUSTOWER 142.2 142.90 2023-04-10 14:50:00 141.45 False 2800 -0.75 -2100.0
43 2023-04-10 10:17:00 INFY 1433 1437.90 2023-04-10 14:50:00 1432.35 False 400 -0.65 -260.0
41 2023-04-10 10:18:00 DELTACORP 194.65 195.95 2023-04-10 15:16:00 195.95 True 2800 1.3 3640.0
38 2023-04-10 10:19:00 DLF 396.65 409.00 2023-04-10 14:19:00 409.00 True 1650 12.35 20377.5
34 2023-04-10 10:22:00 BSOFT 267.85 269.25 2023-04-10 14:50:00 268.75 False 2000 0.9 1800.0
33 2023-04-11 10:04:00 CANBK 290.45 293.40 2023-04-11 14:50:00 288.65 False 2700 -1.8 -4860.0
32 2023-04-11 11:07:00 AUROPHARMA 546.7 550.50 2023-04-12 10:38:00 550.50 True 1000 3.8 3800.0
31 2023-04-12 10:01:00 JUBLFOOD 429.25 433.00 2023-04-12 14:50:00 430.00 False 1250 0.75 937.5
29 2023-04-12 10:03:00 DIVISLAB 3063 3224.00 2023-04-12 13:51:00 3224.00 True 150 161.0 24150.0
28 2023-04-12 10:17:00 LAURUSLABS 308.8 329.80 2023-04-12 13:07:00 329.80 True 1100 21.0 23100.0
27 2023-04-13 10:03:00 INDIAMART 5516.45 5580.95 2023-04-13 14:50:00 5410.80 False 150 -105.65 -15847.5
25 2023-04-13 10:04:00 HDFCAMC 1804.5 1813.00 2023-04-13 14:50:00 1791.90 False 300 -12.6 -3780.0
24 2023-04-13 10:46:00 GODREJPROP 1269.9 1289.70 2023-04-13 15:20:00 1289.70 True 425 19.8 8415.0
23 2023-04-13 13:49:00 ADANIENT 1878.05 1895.00 2023-04-13 14:50:00 1886.05 False 250 8.0 2000.0
22 2023-04-17 09:16:00 SBIN 533.55 546.70 2023-04-17 14:34:00 546.70 True 1500 13.15 19725.0
20 2023-04-17 10:01:00 CHOLAFIN 833.25 840.75 2023-04-17 10:20:00 840.75 True 1250 7.5 9375.0
21 2023-04-17 10:01:00 ULTRACEMCO 7782 7837.55 2023-04-17 14:50:00 7759.95 False 100 -22.05 -2205.0
19 2023-04-17 10:16:00 SIEMENS 3358.25 3381.10 2023-04-17 11:02:00 3381.10 True 275 22.85 6283.75
18 2023-04-18 09:47:00 PIIND 3108.55 3172.00 2023-04-18 14:50:00 3151.10 False 250 42.55 10637.5
16 2023-04-18 09:53:00 ASHOKLEY 139.35 140.50 2023-04-19 09:29:00 140.50 True 5000 1.15 5750.0
15 2023-04-18 10:01:00 PEL 713.6 729.90 2023-04-18 14:50:00 722.20 False 550 8.6 4730.0
13 2023-04-18 10:02:00 GODREJPROP 1290.6 1317.00 2023-04-18 13:22:00 1317.00 True 425 26.4 11220.0
10 2023-04-18 10:13:00 WHIRLPOOL 1330.5 1342.00 2023-04-18 14:50:00 1323.00 False 350 -7.5 -2625.0
9 2023-04-18 13:31:00 BANDHANBNK 217.2 218.75 2023-04-18 14:50:00 214.05 False 1800 -3.15 -5670.0
8 2023-04-19 09:16:00 COFORGE 3960 3992.95 2023-04-19 14:50:00 3890.00 False 150 -70.0 -10500.0
7 2023-04-19 10:06:00 TATASTEEL 109.8 110.65 2023-04-19 14:50:00 108.50 False 5500 -1.3 -7150.0
6 2023-04-19 10:29:00 COROMANDEL 941.9 957.25 2023-04-19 11:10:00 957.25 True 700 15.35 10745.0
5 2023-04-20 10:02:00 ICICIBANK 897.05 901.00 2023-04-21 09:32:00 901.00 True 700 3.95 2765.0
4 2023-04-20 12:49:00 CUB 132.7 134.35 2023-04-20 14:50:00 133.25 False 5000 0.55 2750.0
3 2023-04-20 14:16:00 BAJAJ-AUTO 4321 4336.60 2023-04-20 14:50:00 4317.85 False 250 -3.15 -787.5
2 2023-04-20 15:21:00 TATACONSUM 705.7 706.50 2023-04-20 14:50:00 705.00 False 900 -0.7 -630.0
1 2023-04-21 09:58:00 ASIANPAINT 2854.75 2888.00 2023-04-21 14:23:00 2888.00 True 200 33.25 6650.0
0 2023-04-21 10:07:00 APOLLOTYRE 335.5 337.85 2023-04-21 14:50:00 334.05 False 3500 -1.45 -5075.0
A Note from Unofficed
Thank you for being a valued member of our community! Before you depart:
👏 Applaud the story and give a follow to the author 👉
📰 Explore additional content on the Unofficed
📚 Join our FREE Masterclass
📈 Unlock potent trading tools