This project started with the idea to scrape Edgar SEC filings to get raw financial data and run analysis and backtesting on them. The most recent version uses a financial API.
To run the application, you need to:
- Change the connection string in appsettings.json and SecAnalyzerContext.cs to match with your local database server and database.
- Run "Update-Database" in Package Manager Console (and "Add-Migration MySecAnalyzer" beforehand if that doesn't work instantly).
- Insert your fmpcloud.io api key (FmpCloudApiKey) and base address (FmpCloudBaseAddress) in the Config table.
- Run the "seedandanalysis/seed" endpoint to seed the database with the data from the API. Note: It's not optimized to be fast.
- Run the currently available endpoints "acquirersmultiple" or "expensivemarket" to analyze the yearly returns and compound annual growth rates of these investing methods.
There is a problem with the financial API data since I get negative returns from "expensivemarket" endpoint which tries to mimic the SP500 "market" returns, while the latter actually produced positive returns for the last 2 decades.