Python Backtesting Library you should DEFINITELY check out - Backtesting.py

Поделиться
HTML-код
  • Опубликовано: 17 июн 2022
  • In this video we are going over the very easy to use and handy Backtesting library Backtesting.py and build a SMA crossover strategy. In the end we are playing a bit around with Optimization.
    Interesting library, right?
    Please subscribe for more content like this!
    I am using basically the very well written documentation for everything used in this video with some amendments. Check out the docs here:
    kernc.github.io/backtesting.p...
    Strategy is explained here:
    • Trading moving average...
    Video on Backtrader:
    • Introduction to BACKTR...
    Get the Notebook/Source code by becoming a Tier-2 Channel member:
    / algovibes
    Be invited to check out my 1 hour Python course to get started:
    www.udemy.com/course/python-p...
    DISCLAIMER:
    THIS VIDEO IS NOT AN INVESTMENT ADVICE AND IS FOR INFORMATIONAL AND EDUCATIONAL PURPOSES ONLY!
    #Python #Backtest #Backtesting

Комментарии • 148

  • @Mutual_Information
    @Mutual_Information Год назад +81

    Who else here has accidentally built a backtesting library without realizing there was a nice pre-built option like this out there?

    • @Algovibes
      @Algovibes  Год назад +3

      📌

    • @Mutual_Information
      @Mutual_Information Год назад +2

      @@Algovibes I appreciate it - thanks!

    • @TheLiquidMix
      @TheLiquidMix Год назад +3

      Ive spent months working through Algovibes videos and have built out a back testing library just over time for myself,
      ive recently been playing around with concepts inspired by the JPMorgan video. My use with it is, if you take the 10year treasury bond and VIX index, divide the close values, apply a MACD stratergy to it, then you overlay the dates for triggers and buys onto other assets. Have found that there a feasibility to it in the sense that the overlay ratio stratergy returns are higher than using the MACD on the asset alone, but yeah my backtester provides the information, all the trades etc, plots of application, returns distributions , but yeah thats quite funny that there is an insanely detailed free version out there. Although part of the fun of coding is building it out in the way that im happy with.
      Thanks Algovibes!

    • @brahampalsingh6466
      @brahampalsingh6466 Год назад +2

      what's that pre-built option ???

  • @rd7652
    @rd7652 Год назад +1

    Thanks a lot algovibes for your quick response, luckily problem is sorted out by watching some of your other videos. Great content.

    • @Algovibes
      @Algovibes  Год назад

      thx a lot buddy, happy to read!

  • @bitterbob30
    @bitterbob30 Год назад +8

    This channel is great. Would love to see some intermediate complexity strategies and then maybe a super in depth video on a very complex strategy.

    • @360crazymonkey
      @360crazymonkey Год назад +1

      ^^

    • @Algovibes
      @Algovibes  Год назад +2

      Thanks a lot man :-) My newest video contains a quite complex strategy (from scratch tho). Be invited to check that out!

  • @jackinthebox135
    @jackinthebox135 Год назад +2

    Thanks, great video. Would definitely be interested in more in depth tutorial on this, particularly regarding bespoke strategies.

    • @Algovibes
      @Algovibes  Год назад

      Thank you very much :-)
      Also thx for your feedback!

  • @rajeevmenon1975
    @rajeevmenon1975 Год назад +1

    Yes. Definitely a deep drive with your expert intuitive videos. Also teach how to apply backtesting to real trading. How to take trades, shoot trades etc

    • @Algovibes
      @Algovibes  Год назад

      Awesome. Thanks a lot for your suggestion!

  • @omali0204
    @omali0204 Год назад +3

    This is genuinely amazing. Would love to see it on aroon crossover strategies and other strategies

    • @Algovibes
      @Algovibes  Год назад

      Thanks a lot for watching, your comment and your suggestion!

  • @davidoconnor8224
    @davidoconnor8224 Год назад +3

    Excellent video thanks! When testing other strategies, e.g an rsi(2) from Larry Connors, I had problems using the rsi indicator from the ta library but the pandas-ta worked fine. Coding indicators from scratch and back testing just using python is time consuming but worth it for the expertise gained.

  • @hannes6116
    @hannes6116 Год назад +1

    Thanks, great intro to the back testing lib

    • @Algovibes
      @Algovibes  Год назад

      Welcome man, thanks for your comment :-)

  • @PavelSumik
    @PavelSumik Год назад +1

    unbelievable beautiful, thank you

    • @Algovibes
      @Algovibes  Год назад

      Thanks for watching mate :-)

  • @anilmm2005
    @anilmm2005 Год назад

    Excellent article.. please do a video with deep dive strategy end2end

  • @TheDaskrokodil
    @TheDaskrokodil Год назад

    Amazing video, Awesome Resource. Thanks!

    • @Algovibes
      @Algovibes  Год назад

      Thank you my friend! Happy to read.

  • @tradewithaakash2939
    @tradewithaakash2939 9 месяцев назад +1

    thankyou so much for taking time and making such an amazing content

    • @Algovibes
      @Algovibes  9 месяцев назад

      Very welcome! Be invite to check out my other stuff.
      Cheers

    • @tradewithaakash2939
      @tradewithaakash2939 9 месяцев назад +1

      @@Algovibes sure.

  • @tanayrajware9023
    @tanayrajware9023 Год назад +1

    YES SIR VERY GOOD VIDEOS WE WANT TO DEEP DRIVE IN IT.

    • @Algovibes
      @Algovibes  Год назад

      awesome, thx for your feedback!

  • @asiddiqi123
    @asiddiqi123 10 месяцев назад

    Simple and to the point.

    • @Algovibes
      @Algovibes  10 месяцев назад

      exactly my goal! Thanks for watching mate :-)

    • @asiddiqi123
      @asiddiqi123 10 месяцев назад

      ​@@Algovibes
      I tried to replicate this but for macd, it returns 0% Return
      Edit: nvm. I figured out by passing signals

  • @ConceptEducationBySSPM
    @ConceptEducationBySSPM Год назад +1

    Excellent

  • @bdcash
    @bdcash Год назад +1

    Thanks. That Backtesting library looks so powerful.
    (It makes me a bit nervous to hand off the calcs to the TA library IYKWIM. I like to understand the whole of how things work.)

    • @Algovibes
      @Algovibes  Год назад

      Sure! But you could also just define your custom indicator functions containing your own personal calculation.

    • @bdcash
      @bdcash Год назад +1

      SCAMMER

  • @twizzlemania3843
    @twizzlemania3843 Год назад +1

    love your videos thank you

  • @emperorpalpatine8418
    @emperorpalpatine8418 Год назад +1

    Thx for ur vids, really helpful. In general terms, what’s ur opinion on quantconnect ?

    • @Algovibes
      @Algovibes  Год назад

      Thanks for watching! Opinion is straightforward: decent.
      BTW: Nice Name :D

  • @linas1211
    @linas1211 Год назад +1

    Yes!!!

  • @moyopicon7598
    @moyopicon7598 Год назад +2

    Hi! Thanks for the content :) is it possible to minimize a variable? i used minimize but it prompts and error. I want to minimize the drawdown. That point is very important, on the other side can we ask to minimize drawdown and maximize profit at the same time?

  • @johnadam7996
    @johnadam7996 Год назад +1

    Sir, thank you for this amazing tutorial! Could we include leverage in backtest?

    • @Algovibes
      @Algovibes  Год назад

      Welcome John! Thanks for your comment. Yes, that's possible

  • @itayhilel2168
    @itayhilel2168 Год назад +1

    great video, let's do some different strategies then try to implement on binance api like the older videos, and put this to the real test!!

  • @hourglass9
    @hourglass9 Год назад

    Great Video! Can you simultaneously do a backtesting on all symbols
    like for example EURUSD and SPUSD
    so if I buy on SP500 on 2011-01-07 and sell on 2011-01- 10 then in the next buy this program will recheck the opportunity in EURUSD and SPUSD and automatically matches the buying signal and then buy that stock after 2011-01-10
    in this way we can have a full return on investment
    😀

  • @sibiljas3628
    @sibiljas3628 Год назад +1

    you are good man. ❤❤❤

    • @Algovibes
      @Algovibes  Год назад

      Thanks for your kind words ❤️

  • @polkobra5455
    @polkobra5455 Год назад +1

    This is great

    • @Algovibes
      @Algovibes  Год назад

      Thanks mate. Happy you like it!

    • @polkobra5455
      @polkobra5455 Год назад

      @@Algovibes btw could you please help me? How do I access the traded volume of a coin and import it as we do it with prices in your other videos?

  • @srengodbersen1481
    @srengodbersen1481 Год назад +1

    Great Video! :D What is the advantage of doing this in the OOP style?

    • @Algovibes
      @Algovibes  Год назад

      It's just the way you are inheriting certain methods and properties from the Backtrader/Strategy class and the way the library is supposed to work.

  • @nb9797
    @nb9797 Год назад +3

    Loving your videos, what's your favourite backtesting library you've seen so far? Want to get started on the right one :)
    Also.. would be interested in a deep dive to see if you can implement better Risk Management: layering entries / SL / TP strategy (e.g. SL below previous wick, TP a certain % at next horizontal or after certain Profit % has been hit), and does this have other indicators like BBWP / RSI to be used to improve the Crossover strategy?

    • @Algovibes
      @Algovibes  Год назад +1

      Thank you my mate! Well, my favorite approach is coding the strategies from scratch ;-)
      Good suggestions, thx! Well you can add all indicators from the ta libraries or even your own individuals ones in the init method.

  • @germanslobo
    @germanslobo 11 месяцев назад +1

    Thanks for your video. I saw few #Trades, why? Thanks again.

    • @Algovibes
      @Algovibes  11 месяцев назад

      Welcome mate. Can you elaborate?

  • @arsalanhabibollahi945
    @arsalanhabibollahi945 Год назад +1

    😳wow thanks

    • @Algovibes
      @Algovibes  Год назад +1

      Welcome mate, thanks for watching

  • @bryan-9742
    @bryan-9742 Год назад +1

    I really like this video. Here's another question though. Could you show how you might use the back testing library on, say your Stock Recommendation Class that you made? Given there are three different "strategies" in that Class I'd like to see how you would apply this library to the class structure of the a more complex script. I think it would really hammer home the application.

  • @vsalvato53
    @vsalvato53 Год назад

    Algotrading under your guidance sounds really intriguing... but I am not a programmer and therefore I would like to be able to C&P some of your scripts (like this one ie) and get to test them extensively... both backtesting and FW testing on a demo account. I need to know how to run the scripts , for example on Tradingview. Can you help?

  • @stansuen8072
    @stansuen8072 11 месяцев назад +1

    Great Video. Is there any reason why you classify bull, bear, side direction as 2, 1, 3 in the emasignal? I find it will make more sense if they are 1, 0, -1. But I am not sure if you use those number with intention for other unknown purpose.

    • @Algovibes
      @Algovibes  11 месяцев назад

      Hi Stan, sorry quite some time since I recorded this. Can you pass me a timestamp? Thx!

  • @Pork-Chop-Express
    @Pork-Chop-Express Год назад +2

    Fan Request - Using TA-Lib and yfinance, can you transform all the indicators of ta-lib into Strong Sell, Sell, Neutral, Buy, and Strong Buy (#1)? And then #2, allow a user to Check box however many indicators they want to calculate an overall average of Sell or Buy?

    • @Algovibes
      @Algovibes  Год назад +2

      Thanks a lot for the suggestion! I have done something really similar here:
      ruclips.net/video/3WIcaCMJoqA/видео.html
      and the follow up video.
      Be kindly invited to check that out!

  • @vulcan4d
    @vulcan4d Год назад +1

    Sick if this tied into Tradingview

    • @Algovibes
      @Algovibes  Год назад

      I played a bit around with Tradingview & Python if you are interested in that. But yea a direct connection would be convenient indeed.

  • @giridhart
    @giridhart Год назад +1

    What other libraries are available for backtesting, that are still being maintained and good support?

  • @raphaelarguello5020
    @raphaelarguello5020 27 дней назад

    Great content, thanks for your work!
    I am struggling with the size of the position for the backtesting. I am trying to risk 1% of the available cash per position so I enter the sl and size = 0.01. However, the risk is completely off and it only risk 0.014%
    And in your code, you don't enter any size, do you know how much is risked per trade?
    Would you maybe have a solution please?
    Thanks for your help!

  • @AndreReif
    @AndreReif Год назад +1

    Wie immer sehr inspirierend. Geht sowas auch mit komplexen Vorgehen? Z.B. mit einem mtl. Oder wöchentlichen Sparplan? Wann macht es Sinn seine Rate zu erhöhen oder zu senken? Kann man sowas auch backtesten?

    • @Algovibes
      @Algovibes  Год назад

      Herzlichen Dank :-) Du meinst sowas wie einen cost average Effekt? Prinzipiell ist alles möglich.

    • @AndreReif
      @AndreReif Год назад

      So hab ich mir verschiedene coins in verschiedenen marktphasen (bullruns, cryptowinter) angesehen. Sehr gute Erkenntnisse. Danke 🙏 fürs daraufhinweisen.

  • @khadija1195
    @khadija1195 Год назад

    how can I optimize the Take profit and stop loss ?

  • @borismiz
    @borismiz Год назад +1

    Thanks! To backtest on a weekly timeframe, how do you do?>

    • @Algovibes
      @Algovibes  Год назад +1

      You can pass weekly data. Either by changing the interval of the pulled data or resampling the data.

  • @amanchaure5584
    @amanchaure5584 Год назад +2

    Hello Sir, how can we set a trailing stoploss condition with backtesting library? Can you explain it with any basic strategy (such as ema crossover)

    • @Algovibes
      @Algovibes  Год назад

      Hey Aman, thanks a lot for your comment.
      Did you check this:
      ruclips.net/video/lKh-NZgnpMQ/видео.html
      Was playing around with SL/TP there.

  • @vinnyvidivici5930
    @vinnyvidivici5930 Год назад

    i'm a beginner so i apologize for this question. but the screen when the video begins, what is that and where can i find mine? thank you

  • @RoRo-sp4nd
    @RoRo-sp4nd Год назад +1

    Great video as usual! I somehow cant plot the backtest though, there is no data in the graph and i get this error. Do you know how to solve it?
    BokehDeprecationWarning: Passing lists of formats for DatetimeTickFormatter scales was deprecated in Bokeh 3.0. Configure a single string format for each scale

    • @Algovibes
      @Algovibes  Год назад

      Thanks mate. Didn't have this error yet but it is most probably solved by up or downgrading some library.

    • @alessio491
      @alessio491 Год назад

      Have the same issue did you manage to find a solution?

    • @RoRo-sp4nd
      @RoRo-sp4nd Год назад

      @@alessio491 yep, i always pass this now, works for me:
      import backtesting
      backtesting.set_bokeh_output(notebook=False)
      bt.plot(plot_width=900, reverse_indicators=True)

  • @rraul
    @rraul Год назад +1

    I Guess you should Trim the data to training and testing before the optimization, and then test with n1 and n2 returned

  • @DiabloMet
    @DiabloMet 2 месяца назад +1

    What IDE are you using? VSC doesn't work similarly, even with a ipynb file

    • @Algovibes
      @Algovibes  2 месяца назад

      in that case Jupyter notebook but VSC should (not only should but actually works as I am using it frequently) do the job

  • @blasdelezo8396
    @blasdelezo8396 Год назад +1

    What if the strategy would be something like buy at certain logic, and sell at certain percentage of the close price (for a bullish trade)?

  • @makodad
    @makodad Год назад +1

    Can this be used to backtest intraday strategies? I have tried feeding intraday data and it gives me an error.

    • @Algovibes
      @Algovibes  Год назад

      Yes it can and I already used it for that. Can you just double check the other videos where I am using it? Pretty sure I used it on Intraday somewhere.

  • @WaheedUlla-xj1co
    @WaheedUlla-xj1co 3 месяца назад +1

    Which notebook you use for backtesting

    • @Algovibes
      @Algovibes  3 месяца назад

      Jupyter Notebook for presenting but I am privately using VSC a lot

    • @WaheedUlla-xj1co
      @WaheedUlla-xj1co 3 месяца назад +1

      Thanks a lot god bless you 💖

  • @ahmetsuatyildiz4836
    @ahmetsuatyildiz4836 Год назад +1

    Hello,
    How could we implement our own strategies?

    • @Algovibes
      @Algovibes  Год назад

      Hi Ahmet,
      covered it e.g. here:
      ruclips.net/video/lKh-NZgnpMQ/видео.html

    • @ahmetsuatyildiz4836
      @ahmetsuatyildiz4836 Год назад +1

      @@Algovibes Thanks you so much.

  • @johndoesson
    @johndoesson 10 месяцев назад +1

    I've tried it and noticed the plot gets messed up (the entries and exits) when testing on lower timeframes. Also doesn't really work well on longer periods with smaller timeframes like 1min, too many candles, plot freezes. So not sure what to make of it, is the results also getting messed up on lower timeframes or is it only the plot?
    Thinking it's probably better to code a simple backtester on your own, so you can confirm/know the inner workings.

    • @Algovibes
      @Algovibes  10 месяцев назад

      As I always say: Whatever gets the Job done :-)

  • @christianneller9499
    @christianneller9499 Год назад +1

    Which one do you think its better? Backtesting or Backtrader?

    • @Algovibes
      @Algovibes  Год назад +1

      Hard to tell. Backtrader has way more functionalities but Backtesting is way easier to use.

  • @jeongyoo8985
    @jeongyoo8985 Год назад +1

    cool

  • @bryan-9742
    @bryan-9742 Год назад +1

    everything works but I'm not getting any plots oddly. Using the exact same styntax. I get a output: Row(id="5403",. . .) . The number I used for ID is random as it changes every time. Very good metrics however !

    • @Algovibes
      @Algovibes  Год назад

      Hmm... hard to say what's the problem. Sometimes downgrading matplotlib does the job for me.

    • @andreasklippinge9665
      @andreasklippinge9665 Год назад +1

      add these lines of code at the top:
      import backtesting
      backtesting.set_bokeh_output(notebook=False)
      and it should work!

  • @aarondelarosa3146
    @aarondelarosa3146 6 месяцев назад

    Precisely. I can't install backtesting on terminal. I'm using jupyter notebook in VSC.

  • @BOSprodz
    @BOSprodz Год назад +1

    Hey Algo! I'm following the tutorial and the plotting simply does not work for me (using Jupyter notbook as well).
    I get a broken empty chart that is not interactive and basically shows nothing. I have searched extensively in the backtesting.py issue tracker and the fixes did not work for me.
    Any idea how to fix this?
    I am suspecting it has something to do with JS support on the Jupyter client, based on the warning you got after your imports
    Thanks in advance

    • @Algovibes
      @Algovibes  Год назад +1

      Hi Rey,
      did you try it out with an IDE (Spyder, VSC, PyCharm) with external plotting? Sometimes a downgrade of Matplotlib also does the job.

    • @BOSprodz
      @BOSprodz Год назад

      @@Algovibes
      EDIT: Fixed by downgrading package bokeh to bokeh==2.4.3
      Tried in PyCharm and VSCode as well and got the same. Downgrading matplotlib sounds interesting. Any particular version you think I should downgrade to?

  • @valentinfrappier7921
    @valentinfrappier7921 Год назад

    Do you share your own strategy in one of your videos or do you plan to do so?

    • @Algovibes
      @Algovibes  Год назад +2

      I am backtesting, live testing and implementing bots on different strategies on different assets.
      This channel is not about selling trading strategies, so basically: No. But I will let you know whenever I find something interesting to share!

  • @subhankarmaiti5580
    @subhankarmaiti5580 9 месяцев назад +1

    how to check optimize parameters

    • @Algovibes
      @Algovibes  9 месяцев назад

      Got a ton of videos like that on my channel. Please check out the Python for Finance playlist or also my course which is linked in the About section!

  • @carlosagarciahernandez1570
    @carlosagarciahernandez1570 Год назад +1

    Hello, nice vid, can you check freqtrade bot?

    • @Algovibes
      @Algovibes  Год назад +1

      Thanks man, anything specific you would be interested in?

  • @borismiz
    @borismiz Год назад +2

    If I run a backtest using moving averages with n periods, the dataframe will contain Nan values for the first n periods. So the strategy will actually not be backtested at the start date I initially set up. However it will compare with a buy and hold return strategy using the correct dataframe (including the first n periods). So the comparison will actually be flawed. Have you thought about it? What can be done to fix it? I love to hear your German accent on a Sunday, it reminds me of my good friend from Munich haha

    • @Algovibes
      @Algovibes  Год назад

      You are just dropping the NaN values to get rid of this problem.
      I actually did that in my newest video. Be kindly invited to check that!

    • @borismiz
      @borismiz Год назад

      @@Algovibes I checked my friend but you did not use the backtesting.py in the new video.

    • @Babymeosh
      @Babymeosh Год назад

      I am also having the same issue right now with an ema200 letting many nans in my plot, so I am asking myself if it,s possible to remove empty rows in the strategy class

  • @animal9470
    @animal9470 Год назад +1

    Where do you get the data?

    • @Algovibes
      @Algovibes  Год назад

      What exactly do you mean?

    • @animal9470
      @animal9470 Год назад

      @Algovibes The tick data for backtesting. I'm wondering where you pull your data from.

  • @mrnobody2492
    @mrnobody2492 Год назад +1

    Wie schafft man es das Zeit Interval kleiner wie einen Tag zu bekommen ?

    • @Algovibes
      @Algovibes  Год назад +1

      Hab ich in ein paar anderen Video gecovered. Check mal am besten alle Videos in der Python for Finance und cryptobot playlist aus.
      Sag bescheid wenn du irgendwas nicht findest.

    • @mrnobody2492
      @mrnobody2492 Год назад +1

      @@Algovibes Vielen Dank für deine ganze Arbeit und dass du dein Wissen teilst. Pures Gold

    • @mrnobody2492
      @mrnobody2492 Год назад

      @@Algovibes yfinance bietet es garnicht mehr an xd hab die historischen Daten auf Kaggle noch bekommen in nem Minutenchart. Wundert mich aber das die Daten garnicht mehr bereitgestellt werden bzw. ist es schon erschreckend wie schnell der Absatzmark für validierte Daten sind. Hast du noch ne Möglichkeit die Daten BTCUSD in 5min Chart zu ziehen ?

  • @asssets
    @asssets Год назад +1

    First it was a pain to install TA-Lib, now plot() does not work. #TOFIX pip install --upgrade bokeh==2.4.3

    • @Algovibes
      @Algovibes  Год назад

      Thanks for sharing your solution! Appreciate your attitude

  • @gridal2002
    @gridal2002 Год назад

    Where can i find de formula of the return that we get it with command Backtest? Because I think it 's wrong. I have done a normale own backtest for BTC-USD between 2017-6-1 and 2018-2-1 ; n1=8 ; n2=40 and I get a Cuml.return of 225%. NOT 104 % !!!😉

  • @rd7652
    @rd7652 Год назад +1

    the code showed in this video are not working? i don't know what the real problem is.

    • @Algovibes
      @Algovibes  Год назад

      It works. Where do you get problems?

  • @arturoyogmail
    @arturoyogmail Год назад

    Please update the GDrive 😉

    • @Algovibes
      @Algovibes  Год назад

      Will do so the upcoming days. Thanks a lot for your patience!

  • @mauricejohnson3086
    @mauricejohnson3086 Год назад +1

    I keep getting an Error:
    TypeError Traceback (most recent call last)
    c:\Users\Desktop\python\PythonParseltongue\backtest-1.ipynb Cell 6' in ()
    ----> 1 output = bt.run()
    File c:\Users\AppData\Local\Programs\Python\Python310\lib\site-packages\backtesting\backtesting.py:1137, in Backtest.run(self, **kwargs)
    1135 data = _Data(self._data.copy(deep=False))
    1136 broker: _Broker = self._broker(data=data)
    -> 1137 strategy: Strategy = self._strategy(broker, data, kwargs)
    1139 strategy.init()
    1140 data._update() # Strategy.init might have changed/added to data.df
    TypeError: Can't instantiate abstract class SMAcross with abstract method next
    wondering what could be causing this?

    • @Algovibes
      @Algovibes  Год назад

      Just double check your syntax again. Somewhere you messed up in the method definitions. Just go over the code in the video again and the error will be solved.

    • @auyeungstephen6154
      @auyeungstephen6154 Год назад

      i also have the same error as you do, can you tell me where the error is?

  • @birenbharat
    @birenbharat 8 дней назад

    Bro, just copy and pasted from official doc.

    • @Algovibes
      @Algovibes  8 дней назад

      Exactly, that's my source as clearly stated in the description. I did a follow up video going over a strategy so be sure to check that out! Cheers

  • @dongyoblee2668
    @dongyoblee2668 14 дней назад

    Don't use the library it's a trash just use numpy and build your own

  • @seguidor777
    @seguidor777 Месяц назад +1

    Hello, what is the editor that you're using?

    • @Algovibes
      @Algovibes  Месяц назад

      Hi mate, using Jupyter here. cheers!