Replies: 1 comment 1 reply
-
Honestly, instead of expanding our tutorials to accommodate them all, I'd somewhat rather see people needing spelling guidance simply don't use this framework. 😅
If you know some Python, when in doubt, just look in the source. 💡
I'd say so, yes. Backtesting.py leverages heavy use of those libraries, and probably every Python/data programmer should choose to know them well first.
As you notice, Python is very dynamic and introspective. One of those features are its docstrings, which is what builtin function More importantly, though, the README does feature prominently a link to the documentation, which, reading through tutorials, you must have found, and the documentation contains API reference—a reference—which ought to be a thing of major interest for any senior engineer. Therein, you would find the docstrings that
Thanks for the kind words. I'm sincerely looking forward to it. 😊 |
Beta Was this translation helpful? Give feedback.
-
This is an amazing package! Its one of the first I discovered after I decided to start investigating the world of finance and trading.
The ONLY thing that might make this better is more and better "help".
tl;dr - Add a line in the README to inform folks who can barely spell Python that one simply need call help() for a virtual cornucopia of knowledge.
I say this because "backtesting.py" is pretty hard to Google, and it seems like people who know about it have already been down the road a piece with the firehose of information out there around programmed trading.
On the other hand, I have - and continue to - struggle. Why?
My chief complaint about the world of Python is that its too easy. I can get AMAZING results with a few lines of code. And online resources don't hesitate to provide those few lines of code... but little else.
Its much too easy to do things in Python without having a clue what you are doing. What this means is that its really easy to get started... and really hard to keep going.
I'm a programmer by trade, but Python is my newest language after FORTRAN, C, C++, Java, and many more. I learned Python to do quick and dirty web apps. I don't know statistics, I don't know math or big data, I don't know anything about some of the truly significant packages like numpy and pandas.
Do I need to understand those to do financial programming? I'm starting to think so. Do I have to put my investing future plans on hold while I go back to school to learn the fundamentals? I'd rather not.
I'd argue that EVERY Python user should fully know and understand objects and classes, and I'd guess less than 10% do.
I've used Python for over 5 years. I have never used the help() function until I started using backtesting.py.
ITS AWESOME! GREAT JOB!
But I searched the README, and the word "help" doesn't appear once. In fact, of all the tutorials and examples I've read, I've never seen anyone demonstrate the help function.
When someone writes a blog or publishes a package, is it fair to assume the reader should at least know about "help()"?
Sure. I guarantee you it was mentioned in my first Python class (well, perhaps "reasonably sure"), and I'll bet if I look, its mentioned in some of the many books on Python I've read.
But until I sat down today and thought "Today is the day I finally stop doing tutorials and get my head around how to use this really cool package" , I had never even considered the Python introspection tools, and I've been "playing" with financial programming for a while now.
And guess what? I WAS DELIGHTED with the WEALTH of information I got when I typed:
import backtesting
help(backtesting)
You are truly underselling yourself by not at least "reminding" folks of the incredible job you've done with the internal documentation. I know that some of this can be obtained online, but the documenation without context can often be confusing. Also, Python allows, I might even say encourages, bad programming style because its so very open and flexible. Simply not knowing about "self.", which is a question I see on many StackOverflow articles, would do wonders to help people learn to use your software.
Is this your problem? Of course not. This is really a cultural issue I'm addressing. But I honestly believe something as very simple as mentioning the help() function in your README, to "remind" old timers, and "inform" the newbies (such as decades old programmers like myself) would do wonders to highlight the amazing thoroughness you've put into this.
I'm old school, and I still measure software quality by its documentation. I didn't know how to find it till today.
And lest it go unsaid, thank you so very much. Once I'm rich, I'll be sure and credit you and your programming skills.
Jim
(this concludes my first ever post on GitHub)
Beta Was this translation helpful? Give feedback.
All reactions