List of Projects completed or underway!

1) Options Journal (TradeJournal) - In Progress

One of the best ways to learn new technologies once the initial book reading, YouTube videoing and google searching has been performed is to have a real world application to develop, use and apply one's newly acquired knowledge.

I from time to time have written stock options ( Covered Calls and Cash Secured Puts) on dividend growth stocks, mostly dividend aristocrat companies (those that have increased the dividend it pays stockholders at for a least 25 years).

The strategy allows investors to generate income from the stock option premium of a stock while also collecting the dividends from the underlying stock.  Using this strategy, a dividend growth stock paying 3 to 4 percent can generate 8 to 12 percent in call premiums by writing monthly calls for 1 to 1 1/2 percent premiums, thus generating 12 - 16 percent returns (including dividends) in addition to any annual appreciation in the underlying stock.  Using this strategy, the investor tries to stay clear of writing calls in months where earnings are reported and dividends are recorded.

This strategy can produce consistent growth of investment capital at a fairly high overall rate of return, however, it is difficult to keep track of all the dates and accurately record ones investment returns due to numerous option and stock transactions.  I have scanned the market for applications that can track all the necessary information to manage this strategy but have only found a few, sophisticated spreadsheets to handle the task  Spreadsheets can be prone to data entry errors, become unwieldy and hard to maintain as transaction volume increases, thus not an ideal solution.

So I decided that there is a need in the marketplace for a full function Trade Journal that focuses on providing the tools and capabilities to capture, analyze and manage the transaction and date tracking requirements thus allowing one to successfully execute on a Covered Call writing strategy using Growth Dividend stocks.

Technology stacks to use and learn:

My goal is to create an application that can be written once and used on multiple platforms (Windows, IOS, Android and web).  I have identified two application frameworks that I will use to implement my Trade Journal solution.  Microsoft has recently embraced the Open Source Software paradigm which is attractive to me.  I will focus on .Net Maui and .Net Blazor Hybrid since both frameworks target cross-platform applications.  I'm not sure which solution will eventually gain traction, but both look promising.  I will learn both of them.

.NET MAUI stands for .NET Multi-platform App UI. It is a cross-platform framework that allows developers to create native mobile and desktop applications using C# and XAML.
 
Blazor, on the other hand, is a web framework that enables developers to build web applications using C# and HTML.
 
Blazor Hybrid is a new type of application that combines the power of Blazor with the flexibility of .NET Maui.  It allows developers to reuse one set of web UI components across mobile, desktop and web.
By using .NET MAUI and Blazor together, developers can reuse their web development skills to build cross-platform native client apps, and build a single UI that spans mobile, desktop and web.

Solution Number 1:

.NET MAUI, Visual Studio, C#, XAML, SQL Server, REST, IIS, Postman, XUnit, MVVM, Identity Manager, MSAL, JWT, Social Logins (Google, Facebook, Twitter (X), Microsoft Graph and LinkedIn), SQL Server Management Studio, Code First DB using EF Core

Solution Number 2:

.NET Blazor Hybrid, MAUI, Visual Studio, C#, HTML, SQL Server, REST, IIS, Postman, XUnit, MVVM, Identity Manager, MSAL, JWT, Social Logins (Google, Facebook, Twitter (X), Microsoft Graph and LinkedIn), SQL Server Management Studio, Code First DB using EF Core

Solution Number 1 will be the first set of technologies to used.  The database, web and backend services will be developed first since it will be shared between the two technology frameworks.

High Level Requirements for an Options Journal

  • Ability to calculate return on transaction by Call Date: The journal should be able to calculate the return on an option trade, based on the call date. This would include the premium received, the strike price, the stock price on the call date, and any commissions or fees.
  • Ability to calculate potential Annualized Return: The journal should be able to calculate the potential annualized return of an option trade. This would be based on the expected return on the trade, the number of days until the call date, and the number of trading days in a year.
  • Ability to calculate running cost basis of Stock based on executed transactions: The journal should be able to calculate the running cost basis of a stock, based on all of the executed transactions for that stock. This would include the purchase price, any commissions or fees, and any option premiums received.
  • Ability to flag (caution) of upcoming Ex-Dividend dates: The journal should be able to flag upcoming ex-dividend dates for the stocks in the portfolio. This would help the user to avoid selling a stock before the ex-dividend date and losing out on the dividend.
  • Ability to flag (caution) of upcoming Earnings dates: The journal should be able to flag upcoming earnings dates for the stocks in the portfolio. This would help the user to avoid trading a stock around earnings, when the stock price can be volatile.
  • Identify options ready for closeout based on exit strategy: The journal should be able to identify options that are ready for closeout, based on the user's exit strategy. This could include options that are in the money, options that are close to expiration, or options that have lost a significant amount of their value.
  • Ability to have multiple Brokerage accounts: The journal should be able to track options trades from multiple brokerage accounts. This would be useful for users who have accounts with multiple brokers.
  • Ability to have multiple portfolios within an account: The journal should be able to track options trades for multiple portfolios within an account. This would be useful for users who want to track their options trades separately for different investment goals.
  • Ability to see proceeds to portfolio based on option transaction: The journal should be able to show the proceeds to a portfolio from an option transaction. This would help the user to track the impact of option trades on their overall portfolio performance.
  • Ability to see proceeds to portfolio based on option transaction by individual stocks: The journal should be able to show the proceeds to a portfolio from an option transaction, broken down by individual stock. This would help the user to track the impact of option trades on the performance of individual stocks in their portfolio.
  • Ability to transfer Stocks/options, cash between Portfolios: The journal should be able to track the transfer of stocks, options, and cash between portfolios. This would be useful for users who want to rebalance their portfolios or move assets between different accounts.
  • Ability to keep track of funds provided to an account: The journal should be able to track the funds that have been provided to an account, including cash deposits, option premiums received, and dividends. This would help the user to track their overall account balance and to stay within their budget.
  • Ability to keep track of funds provided to a portfolio: The journal should be able to track the funds that have been provided to a portfolio, including cash deposits, option premiums received, and dividends. This would help the user to track their overall portfolio balance and to stay within their portfolio budget.
  • Ability to play what if on executing exit strategies: The journal should be able to simulate the impact of different exit strategies on an option trade. This would help the user to choose the exit strategy that is most likely to maximize their profits.
  • Ability to calculate returns based on time period provided: The journal should be able to calculate the returns on an option trade, based on a specified time period. This would help the user to track their performance over time and to identify trends.
  • Ability to capture Dividends and factor into Return calculations: The journal should be able to capture dividends and factor them into the return calculations for an option trade. This would help the user to get an accurate picture of their profits.
  • Ability to factor in stock gains / losses upon exercise of a call (CC) or put (CSP) – by Portfolio, by Account: The journal should be able to factor in the stock gains or losses that occur when a call option (CC) or put option (CSP) is exercised. This would help the user to get an accurate picture of their profits.
  • Ability to analyze all exit strategies: The journal should be able to analyze all of the possible exit strategies for an option trade. This would help the user to choose the exit strategy that is most likely

Next Steps 

  1. Project Started 09/01/2023 - Done
  2. Create High Level Requirements - Done
  3. Setup up Development Environment - Done
  4. Create initial Class Models based on High Level Requirements - Done
  5. Generate Code First Database using EF Core - Done
  6. Create ASP .Net project in Visual Studio - Done
  7. Create CRUD REST Web Services for all tables in Initial Database from EF Core - Done
  8. Generate Identity Database to Store User Login Data - Done
  9. Create .Net MAUI Project to work on Login Page and User Management - In Progress

Additional Steps to be identified as the project progresses.

 

Newsletter Sign up!