The Python Backtesting course Update:

First batch of the course is in the 9th week of the 12-week duration.

So far we have had many wonderful people taking active part in initiating discussions that have been useful to many.

Quite happy with the progress they are all making.
1/ I am quite happy a lot of them have advanced to a level of writing code that only programmers with 1-2 years of continuous code writing experience can write.

But it is also frustrating to them because they all think they are lagging and not doing well at all.
2/ In reality, they are writing code like a BTech 3rd year student, without any Computer Science background or training.

Some have even picked up coding after 10-year gap and have done wonderfully well with the course so far.
3/ One aspect I found to be very essential in my own programming learning curve was debugging.

Right now, I can debug most things given enough time and effort. Since I am not under deadlines, I can sit and spend as much time as it takes to solve things.
4/ This is an aspect most of the participants are yet to grasp.

Beautiful programming is 90% debugging and 10% coding.

This doesn't register to many people who are new to coding. So, that's something I am struggling to help them understand too.
5/ Backtesting wise, few participants also have taken time to dig so deep into the backtesting framework that they have all come up with new insights regarding the order placement, handling, etc., within the framework, and hacks to work around the same.
6/ This being the first time, I have also made mistakes here and there, and out of 57 days so far, there were few days where I strongly felt I could have done that day's videos better in terms of explanation or organization.
7/ I will be fixing all these things from the feedback that the current batch participants have given, for the second batch.

In essence, above and beyond paying for the current batch's course, the students are also helping me refine and better the course with their insights.
8/ On that front, I am very blessed as there's a 25% subset of the first batch that's actively interested in extracting the most from this course. These guys message me every day, actively discuss things on the telegram group and on forum. And they bring such enthusiasm to work.
9/ During the weekend qna sessions, we have discussed many things ranging from scaling & compounding, automation related issues, backtest evaluation, backtest caveats, strategy ideas generation, and so much more.

Everyone contributed immensely by bringing intelligent questions!
10/ This entire course experience has been stressful to me too because I am very self-critical.

I don't like to settle for less than the best, and that's why I am striving to provide the best way forward for the students.

And, some days I feel like I suck at teaching.
11/ One student remarked that the course so far has been fine, but it's not as easy for him.

I had recommended CS50 as the recommended pre-course study. David J Malan is a world class professor.
And, this student loved David's teaching.
12/ He said that the course is not as easy to understand or navigate as Malan's course was.

While I am not professionally a damn good professor like @davidjmalan, I am definitely trying my best to help people understand the programming part very well.
13/ As counter-intuitive as it sounds, the most important part of having your students grow so fast as programmers (like having them do 2-3 yrs of evolution in 2-3 months) is to not help them so much.

The most important part in programming is to let your students make mistakes.
14/ And, the students have to get in the mud, get their hands dirty, and put in the time to figure things out by debugging and reading documentation.

These are invaluable skills for a programmer, and the more time one puts in, the better it is.
15/ Spoonfeeding concepts, functions, and code - and asking students to write code only our way, and just telling them to follow what we have done and not deviate from it EVER, will not make them good programmers.

It will make them good copiers.
16/ For someone to get so good at programming, debugging - trial and error method, and reading documentation and stackoverflow solutions extensively is the most important part of the learning curve.

And that's also why I have purposefully introduced hurdles in the course.
17/ That's also why I don't help people with debugging as soon as they come to me with an error/issue.

I took a weekend session specifically for debugging and fixing errors.

When I avoid helping them, somehow they spend few more hours and figure it out.
18/ The one who remarked he's bored by Python, and that the current course is difficult and not as easy to understand or navigate as David Malan's is

he started from scratch without Python knowledge, and is currently coding like a decent college grad programmer.
19/ Three months back, he couldn't code much in Python.

Currently, he's writing functions, classes, dealing with objects, instantiation, writing code, making silly punctuation mistakes (as a programmer with 10y exp, I make such mistakes too), fixing them, etc.
20/ If you ask me, he's gotten 1y of progress in 3m. Just that, none of these people have benchmarks for what kind of time it takes to code at the level they are coding at.

Doesn't matter if it is python or C++. Fact is that they are programming at an intermediate level.
21/ This has also further reinforced my belief that some resistance and hurdles are required to boost up progress.

Most of these students I have met in the course come from diverse backgrounds. But one thing is common and stands out - they are fighters and don't give up easy.
22/ I am writing this thread to let you know one thing.

If you're a trader, and currently grappling with learning programming, don't shy away from making mistakes and do not get be turned down by frustration that arises from making mistakes and being unable to fix them.
23/ At first, you will take like 5-6 hours to fix silly mistakes. As you expose your brain to several possibilities to make such errors, your brain gets trained to spot such errors quickly.

The more your debugging experience, the better your brain's directory of errors.
24/ And over time, you get better, faster, and smoother with writing code, and also more efficient with debugging.

You got to give yourself time to figure things out. A baby doesn't walk in its first or second attempt. So, bring a child's "don't give up" mindset to learning.
25/ We have four more weeks to go and we have only begun with options backtesting module.

Things will be interesting going forward.

If everything goes well, I will incorporate all the current batch's insights and work on the next batch.
26/ And, the best thing about the next batch is that, all the current batch students have access to it. And, if you're in next batch, you will get to interact with many of the current batch students who are taking part too.

This I hope will further everyone's learning.
27/ I will do a round up of what I have learnt, once the course ends. And, I will be transferring the best of ideas that people have given me in the course, to the second batch and implementing them.

Let's see how the next four weeks turn out.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Shravan Venkataraman 🔥🚀💰

Shravan Venkataraman 🔥🚀💰 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @theBuoyantMan

3 Mar
How to generate trading strategies:

1) Data mining
2) Observation

Observation is simple. You observe and read charts bar by bar for a long period of time. Write down some patterns that crop up.

Test the pattern, if it has good risk-reward metrics, trade it.
Data mining is a bit more complicated.

Come up with different factors that could affect the markets.

It could be

- Seasonality (day of week, week of month, month of year)
- price based factors (highs, lows - combined with seasonality - previous day, previous week/mo/y)
- Time based factors (enter upon x mins after open, exit x mins before close, enter on x day, exit 1/2/3/4 days/weeks/months later)

- Volume based factors (decreasing volume, increasing volume, > x * average volume, etc.)

- Volatility (increasing vix, decreasing vix, etc)
Read 9 tweets
1 Mar
Generally speaking, I don't see a correlation between Zerodha and other brokers in glitches/down days.

When Zerodha is problematic, Angel, Kotak, Sharekhan, Motilal, etc., work fine.

Generally, having one or two backup brokers with funds split up, should help de-risk yourself.
If all the brokers are having issues on the same day, then it is not a day you would be worrying about broker platform or execution.

There would be much bigger things to worry about on that day.
Generally, with respect to angel broking, try and contact the main branch (Mumbai I guess) through connections who are connected to the right people inside, to get your account opened.

If you go through other branches, you'll most likely have issues with customer support.
Read 5 tweets
27 Feb
If someone says they are trading for passion, and they aren't in it for the money - they are either gambling, or they are bluffing.

You can't not trade without money on your mind.

But that's also the most counter-intuitive thing in the world of trading.
You can say you're trading for passion, coz markets are dynamic, because you like a challenge, because it's always evolving, because no one gets to boss you around, and hundred other reasons.

But you wouldn't quote any of that if you're a losing trader.
No rational person keeps losing money in trading, and then continues to do it because they're "passionate" or they like the "challenge".

You have to do it for the money; and without making money from it, you CAN'T continue doing it.

If you still do, you're a compulsive gambler.
Read 4 tweets
26 Feb
I went long on BankNifty March04'21 35600CE on 24th February.

I couldn't exit before NSE halted.

IBKR didn't have an extended trading session.

I'll try to summarize my experience on managing that position's exit in this thread below. 👇👇
1/ I was forward testing a system based on banknifty futures since September and was conservatively trading until Feb.

Between September and Feb, it made about 150%+.

I felt it was time to begin aggressive compounding, but kept postponing.
2/ After painfully letting go of the opportunity budget day and the next day's rally with conservative lot size, I got enough courage to not be chicken, and decided to aggressively compound from 24th.

I decided I'd start with 3 lakhs, 6 lots Futures.
Read 40 tweets
24 Feb
NSE went batshit crazy today. My hands are itching for a thread of the week. NSE gave an opening.

What are the lessons we can learn from today's exchange fiasco?

Time for a thread. 👇👇👇
1/ If you're going towards full automation, factor in data feeds.

Have multiple data feeds.

If for a set amount of time, different datafeeds don't update, work out the code in such a way that you'll exit all open positions upon quote refresh, based on how the market is.
2/ Have redundant brokers. I have been stressing on this for quite a while now. It's important to have reliable brokers you can call and manage your positions with, properly.

Or you should have a functional broker who will let you put on/close trades.
Read 16 tweets
8 Feb
Poverty is a curse.

If you're a man, and you're poor, there's no telling how much you'll be pushed around by the society around you.

Time for a thread. 👇👇👇
1/ Your self-respect and integrity goes for a toss.

Men in the society are EXPECTED to be the breadwinners.

Once you're 20 and above, your MANHOOD is defined by your ability to earn money.

And it's not just "enough to scrape by" money. No. You won't get respect for that.
2/ The men who are respected, envied, and looked up to in the society are those with the most money.

There are EXCEPTIONS to this. But, exceptions don't become examples.
Read 52 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!