- How is the journey so far?
- What communication tools is your team using, and how well is this going?
- What Project Management tools is your team using, and how well is that going?
- How often does your team commit their code? Is code integrating easily?
- How about pull-requests or code reviews? Is this too much overhead or is it useful to your team?
- What about your build/debug/deployment? Is this going well, or are you spending a lot of time debugging?
- How well is your team following your original Team Standards?
- Do you personally feel your part of the project will succeed? If not, what do you plan to do to get back on track?
- Do you feel your project is on-track to succeed? If not, what do you plan to do to help the team get back on track?
- What one thing would really help your team succeed?
- Anything project related. You choose.
How is the journey so far? Well, it’s okay. Our project is based on getting an open source financial engine called Quant Connect Lean to run algorithms. We’re using a bit of python code and a library called pymoo to try to optimize the algorithms.
Unfortunately, we’ve found that Lean is exceptionally difficult to use. You need specific versions of Python. Trying to have multiple versions of Python is problematic. Lean needs Docker. The Docker engine doesn’t always work apparently. How do you know if the data your feeding into Lean is being run? Well, you don’t really. It’s been a lot of troubleshooting, which can be rewarding when things start working. Unfortunately, a lot of the successful troubleshooting so far has been uninstalling and reinstalling programs, without actually learning what the cause of the error is.
We’re using Discord to communicate. This was suggested by our project mentor, and is a decent format for integrating voice meetings and text messages. No real complaints here.
We have been loosely using Monday.com as our project management tool. Because we haven’t used it before, it’s just kind of cumbersome.
For this project we aren’t building a traditional app (yet). We’ve just been working on getting a simplistic trading algorithm running and integrated with Lean and optimize it with pymoo. We do have a shared repository, but our coding changes have been so incremental and experimental at this point that we’re mostly making changes locally and communicating with our teammates our results.
We haven’t made any pull requests or code reviews, as our time up to this point has just been spent trying to get the engine to work properly.
As previously mentioned, we’re spending a lot of time debugging. The open source tool we’re using is a massive project in itself, and understanding what’s going wrong is particularly difficult.
I think we’re following our original team standards pretty well, even if we’ve been surprised by how long it’s taken to get tangible results. We’ve each been committed to learning the tools and producing results.
I think the parts of the project that are my responsibility will succeed. A lot of our success depends on getting the open source engine to work.
I think our project will probably succeed. A hurdle we have to overcome is getting the open source engine to function properly. However, it is a powerful tool and if we can get it running, I expect we’ll start to make significant progress.
Something that would really help our team succeed is if we could get Lean to work in a clear way. Right now, it is running, starting docker containers, and creating results. However, the results are pretty bland, and we expect that it isn’t reading our data correctly. Once we can clearly get the engine to work, we can manipulate the business logic to work in an optimal manner.
Despite our setbacks, I think this is an interesting project. It provides an introduction to applying computer science to financial techniques, and it skims some of the surface of machine learning. It has also been interesting seeing some of the effort that goes into making large open source tools. I’ve been a little disappointed by the community. It seems like it’s a lot of people playing with an introduction to the tool, and not a lot of people capable of answering questions to help troubleshoot. However, there are a number of learning materials available, and the fact that there is a community to help is appreciated in itself.