Step-by-Step Guide: Time Series Momentum Trading with Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ม.ค. 2025

ความคิดเห็น • 45

  • @anilmm2005
    @anilmm2005 6 หลายเดือนก่อน +5

    This was long time coming and an extremely important topic. Looking forward to the follow-up video for providing more guidance on it. Thank you.

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน +1

      Thanks mate!

  • @mayankjain24in
    @mayankjain24in 6 หลายเดือนก่อน +2

    always learn something new from you .... your approach towards solution is very precise..

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน

      thanks mate, delighted to read that :-)

  • @tr0wb3d3r5
    @tr0wb3d3r5 6 หลายเดือนก่อน +2

    The 🐐, ty a ton for the teachings💖

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน

      Thank you mate, nice comment 😆

  • @saxegothaea_conspicua
    @saxegothaea_conspicua 6 หลายเดือนก่อน +2

    amazing video!!

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน

      @@saxegothaea_conspicua thank you mate

  • @Controler_gaming
    @Controler_gaming 6 หลายเดือนก่อน +2

    love your work, thanks

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน

      Love having you on board! thanks mate

  • @TycoonCapitall
    @TycoonCapitall 6 หลายเดือนก่อน +2

    Hopefully we get a cross-sectional momentum strat tutorial!

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน

      There already is a couple of them :-) Be invited to explore the Python for Finance playlist!

  • @andreoproprio
    @andreoproprio 6 หลายเดือนก่อน +2

    For illustration purposes it's fine to use the Close, but bear in mind in real life you must use Adj Close, as the price series for the Close are distorted caused by dividends and splits.

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน

      yessir! Also mentioning that in the vid btw

  • @Arivan_Abdulla
    @Arivan_Abdulla 6 หลายเดือนก่อน +2

    Thanks so much for the video man Very helpful

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน

      happy to read! Thx :-)

  • @javierloa9197
    @javierloa9197 5 หลายเดือนก่อน +1

    When is the factoring video coming out?

    • @Algovibes
      @Algovibes  5 หลายเดือนก่อน

      Have too see, video is on the edge of becoming worth it. Will see what I can do!

  • @Irizu_
    @Irizu_ 4 หลายเดือนก่อน +1

    i'm a beginner with all of this but it is possible to implement this strategy with your binance bot ?

    • @Algovibes
      @Algovibes  4 หลายเดือนก่อน

      it is!

  • @jean-francoislebroch9171
    @jean-francoislebroch9171 6 หลายเดือนก่อน +1

    Great

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน

      Thank you mate!

  • @its_code
    @its_code 6 หลายเดือนก่อน +1

    ❤❤❤😊

  • @ED-iz1bf
    @ED-iz1bf 3 หลายเดือนก่อน +1

    this technique can apply for crypto market?

    • @Algovibes
      @Algovibes  3 หลายเดือนก่อน

      sure, go ahead! Let me know your insights

    • @ED-iz1bf
      @ED-iz1bf 3 หลายเดือนก่อน

      @@Algovibes I’m struggling when should we use momentum or mean reversion on the market

  • @froggoman4756
    @froggoman4756 6 หลายเดือนก่อน

    Could you expand on the main reason/difference between using Close and Adj Close? I'm curious as to how/why it changes how you calculate the Open? (in general I always used Adj Close but now I'm questioning in which situations I should use it and when I shouldn't)

    • @andreasklippinge9665
      @andreasklippinge9665 6 หลายเดือนก่อน

      Adj Close adjusts for dividends/splits etc.

    • @froggoman4756
      @froggoman4756 6 หลายเดือนก่อน

      @@andreasklippinge9665 thanks, I'm aware of what it "is", but my initial question remains. How does it change what you need to do for the Open? (as mentioned in the video only briefly)

    • @andreasklippinge9665
      @andreasklippinge9665 6 หลายเดือนก่อน

      @@froggoman4756 ah, my bad.

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน +1

      Hi :-) You just need to adjust the Open by the same factor you adjusted the Close for.

  • @factoryofgaming5229
    @factoryofgaming5229 6 หลายเดือนก่อน

    I wrote my thesis in momentum trading strategies. I think this is an misrepresentation of the concept. Momentum in this form relies on a portfolio of stocks rather than a single asset, both long and short, making it self financing. This is open to broad market risk. Also, you conveniently pick a stock that we all know went up significantly over the backrest period. It would be nice to see this on a portfolio of say 20 equities, as by then you diversify much of the market risk away. Still, great video, but needs more depth.
    Edit: I was talking about cross sectional momentum. Apologies!

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน +1

      As you mentioned: Different story but I have great news for you - I covered cross-sectional momentum on my 9 hour Python for Finance course :-)
      If you need a free option its also covered in the Python for Finance playlist.

  • @int2str
    @int2str 6 หลายเดือนก่อน +1

    Not a python expert here, but I feel like there's a bug in the logic. If you're setting "in_position" to True, and then immediately calculate the profit and set in_position back to false, you will "buy" on consecutive days, which presumably is not realistic/desired.
    But again, not a Python expert here....

    • @jalexisg
      @jalexisg 6 หลายเดือนก่อน

      The bot should buy only when in_position = False, so after buy in_position will be True and will hold True for 5 days.

    • @int2str
      @int2str 6 หลายเดือนก่อน +1

      @@jalexisg Incorrect. The "if not in_position" sets "in_position" to True and then the next "if in_position" sets it right back to false. That's the bug.

    • @jalexisg
      @jalexisg 6 หลายเดือนก่อน

      @@int2str Yes, it's a bug. I meant it "should" buy only if in_position = False.

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน

      Doesn't have an impact, anyhow here you go:
      profits = []
      in_position = False
      sellidx = pd.to_datetime('1900-01-01')
      buyprice = None # Initialize buyprice outside the loop
      for index, row in df.iterrows():
      if not in_position and row.signal and index > sellidx:
      buyprice = row.buyprice
      in_position = True
      elif in_position:
      sellprice = row.Close # Assume the current row's Close price is used for selling
      sellidx = index
      profit = (sellprice - buyprice) / buyprice
      profits.append(profit)
      in_position = False

  • @FawG-jv1wn
    @FawG-jv1wn 2 หลายเดือนก่อน +1

    Thanks a lot for the video. very helpful indeed. I tried the code and it appears to have some error, I have no clue for that. Is there anyway can fix it?
    1578 f"The truth value of a {type(self).__name__} is ambiguous. "
    1579 "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
    1580 )
    ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

    • @FawG-jv1wn
      @FawG-jv1wn 2 หลายเดือนก่อน +1

      error line: ----> 6 if not in_position and row.signal and index > sellidx:

    • @Algovibes
      @Algovibes  2 หลายเดือนก่อน

      hi mate, can you pass me when this is occurring? timestamp or anything and did you somehow deviate from my approach? cheers

    • @FawG-jv1wn
      @FawG-jv1wn 2 หลายเดือนก่อน

      @@Algovibes thank you for the follow up, it was resolved. it is the line" if not in_position and row.signal and index > sellidx:". I tried the alternative " if not in_position and row['signal'].any() and index > sellidx:" it works as intended

  • @deekshitpatel4647
    @deekshitpatel4647 6 หลายเดือนก่อน +1

    Sir great knowledge gained from you i have learnt a lot from you
    @algovibes
    Can you please make a video on Renko Trading Strategy backtest?

    • @Algovibes
      @Algovibes  6 หลายเดือนก่อน

      Happy to read man! Thanks a lot for the suggestion, will see what I can do.