0% found this document useful (0 votes)
25 views5 pages

Bootcamp Task FAC

Uploaded by

kethanchalla2809
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views5 pages

Bootcamp Task FAC

Uploaded by

kethanchalla2809
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Kethan Challa - 230317

Quant Bootcamp Task

Time Frame :
Converted the given data into 30 minutes intervals data for further Task.

Denoising :
Used Heiken Ashi denoising technique to smoothen the OHLC values.

Strategies Overview:
I have used a combination of various indicators like
Fisher Transform, Volume Weighted Average Price, Relative Strength Index, MACD to
generate signals.

Risk Management:
Applied Trailing Stop Loss, Dynamic Exit Condition, 4 day trade Limit\

Leverage:

Using the ATR indicator, I found the slope of the ATR indicator indicating the
volatility of the close price.

Less volatile => ATR_Slope < 0


High volatile => ATR_Slope > 0

On observing the Slope values being between (-0.06 , 0.05), I resized the
ATR_slope with (1,5) boundary range.
APPLYING LEVERAGE :

While dealing with prices of low volatile areas, we can take risks with high leverage.

if (self.slope.iloc[i]<2) :
self.leverage = 5
elif (self.slope.iloc[i] < 3):
self.leverage = 4
elif (self.slope.iloc[i] < 3.75):
self.leverage = 3
elif (self.slope.iloc[i] < 4.25):
self.leverage = 2
else :
self.leverage = 1
Strategies :
1) Fisher Transform Strategy

It aims mainly to transform prices into a Gaussian normal distribution


Involving 2 important steps :

Normalising :

Transforming:

After normalising using this formula we convert the price to normalise between (-1,1)
so that it doesn’t make the logarithm in the next step undefined.

Buy signal: F(t) > 0

Sell Signal: F(t) < 0

2)Volume Weighted Average Price

At each period, It uses the cumulative sum of average OHLC prices multiplied with
volume divided by cumulative sum of Volume to generate the vwap price.

Buy Signal: Close price > VWAP price


Sell Signal: Close price < VWAP price

NOTE :
I combined these strategies with Macd And Rsi to generate stronger signals.
Constraints:

For the constraint of having one complete trade in 4 day period, I have used a
variable ‘hours’, ( the data I used to generate signals was 30min based), so
considering this there are 14 periods a day and 56 in 4 days, the variable monitors
this and whenever there is no trade started for last 54 periods , it starts the trade on
55th period and ends on 56th period minimising the loss or profit for the sake of
constraint and similarly whenever there is an open trade and hasn’t closed for 4 days,
The variable closes it in the 56th period.

Results:

Number of closed trades: 54


Long trades: 38
Short trades: 16
Won trades: 34
Lose trades: 20
Max holding time: 56
Avg Holding time: 23.833333333333332
Benchmark Returns: 9432.486000000006
Benchmark Returns in %: 9.432486000000006
Gross Returns: 157091.9243333328
Net Returns: 135866.9243333328
Returns in % : 135.8669243333328
Max drawdown (in %): 3.303544692903633
Avg drawdown (in %): 0.8551380139454673
Max dip (in %): 6.336409793968546
Avg dip (in %): 1.2614122398110241
Sharpe Ratio : 5.557601815955588
Sortino Ratio: 11.150446119737007
Remarks:

● Tried to implement the Parabolic SAR strategy , but it didn’t yield good
results with many false signals generated.
● Tried to generate leverage based on the strength of signals, by separating all
the signals into strong and weak signals of both buy and sell types. But couldnt
implement it because of all the strategies i used generate signals based on different
parameters, like volume , gaussian conversion of prices, momentum based, then
weaker signals didn’t make a proper sense and mostly returned false signals.

You might also like