Skip to content

Ta-Lib incorporated and threading for rank completed

Latest
Compare
Choose a tag to compare
@yeonholee50 yeonholee50 released this 07 Dec 22:42
· 25 commits to main since this release

First of all, thank you for all the feedback. The project isn't perfect, but we're trying to develop it so that it performs how we would want it to.

Version 2.0.1 will include the following features:

  • Elimination of all previous strategies. We will use indicators instead from TA-lib as suggested by many. This will also mean scrapping the training data. However, the training data that will be shown in the website will be staying for at least 1 more week - we have already started training using the current indicators using a 1d tick. 1m tick training has also started, but this won't be available to the public. For those still interested in the strategies previously indicated, they will be in the strategies/archived_strategies/* folder. Ta-lib is a separate project of its own and the link to installing it has been put in the README.

  • Threading in ranking_client.py has been fully implemented. Previously there was SLL handshake error, but this has since been resolved. Please keep in mind there will be warning message of cache being full but this is so that the system throws away the threads that have been completed so other threads can take its place.

  • Setup has now been tested successfully on three separate laptops. There was previously error on the setup script, but this issue has since been resolved.

  • Ensemble learning will still continue, but we will continue to use static methods to rank strategies. Later on, we will use dynamic strategies by tinkering with the period param in get_data - adjusting how far the historical data to each strategy will be from - too much and it's a long term bot and unresponsive. too short and it's too reactive, unpredictable, inconsistent, and overfitting on the dataset. Right now, it is defaulted to use 1y param.

Notice:

  • The website currently showing the live performance and holding will still be up for everyone to see and use. There will be a maintenance later next week (12/8 ~ 12/14). During this maintenance, it will accommodate the recent changes that were made to the project. Also the live performance statistics will be unreliable during this week, so immediate apologies.

Conclusion:
Thank you to everybody who contributed to the project so far. I personally learned about a lot of tools and new ways to approach this project in recent week.There are still a lot of issues and enhancements to be made. For further inquires, please don't hesitate to reach out to me at [email protected]

Update - 12/11/2024:
Maintenance on the website has now been completed. Currently, the trained data for 6 months is showing and it will continue to update as the days go by using data it accumulates in the coming days. I will do another maintenance after training in Intrinio which is estimated to be in Jan 20, 2025 - Jan 22, 2025. Thank you for your understanding.

Last Update - 12/17/2024:
There has been several issues on MongoDB trying to a be accessed even after closing. Obviously closing after access is best practice, but this has been causing issue in ranking. This issue has now been resolved. The bot is free to be used with 0 functional issues. Also, the website will undergo a maintenance scheduled 12/18/2024 at 12:00 AM to 2:00 AM EST for data swapping as AmpyFin (containing TA-Lib strategies )has now been successfully trained using data from 2000 - present as of two days ago. This was done using distributed training which took about a week using Lambda Labs distributed Cloud GPUs. The training was done on a 1m tick. It was done using current holdings on the static NDAQ-100 instead of dynamically changing NDAQ-100 as I am still looking into resources for changes in the NDAQ-100 and implementing the API myself sometime later. Special thanks to those who DMed about this resource. Future change as expected will be to expand outside the NDAQ-100 and into NDAQ and NYSE listed securities which will require new training scheme.