Activity

Saptarshi Sarkar

Devlog: Changes made

  • Implemented a Matrix operations java class which utilises SIMD for optimised calculations
  • Added a JUnit 6 test which checks correctness and measures performance properly.
  • Added GitHub Actions test workflow summary
Attachment
Attachment
Attachment
Attachment
0
Saptarshi Sarkar
  • Added GitHub Actions workflow for automated testing
  • Added dependabot configuration for automatic dependency updates
Attachment
0
Saptarshi Sarkar

Finally, I have implemented a single layer perceptron with:

  • A learning rule for parameters (weights which includes bias) -> Perceptron Learning Algorithm
  • A step function as the activation function

I have also added JUnit test for testing the Perceptron for AND, OR, XOR (where it is expected to fail) and a random linearly separable dataset. The test also checks for input and output size mismatches.

Attachment
0
Saptarshi Sarkar
  • I have created the repository structure suitable for future implementations of anything I learn in Deep Learning
  • Created two classes for performing basic Vector and Matrices operations like addition, scaling up/down, dot product of vectors, multiplication of matrices and implemented methods to reduce a matrix to Echelon Form and Row-Reduced Echelon Form (RREF)
  • I have also implemented McCulloch-Pitts (MP) neuron from scratch.
  • Added JUnit 6 test for testing the MP neuron implementation
Attachment
Attachment
0
Saptarshi Sarkar
  • Modified the project structure for better and independent coordination between dependent modules, to avoid any kind of cyclic dependencies.
  • Added Regression Logic using Apache Commons-Math3 OLS Multiple Regression function to estimate betas (or weights in other words)
  • Added one custom rule (like if the factor is USA, then a weight of 0.8 would be used among other factors)
Attachment
0
Saptarshi Sarkar
  1. Fetched list of all ticker symbols available in the NYSE stock exchange using web page crawling.
  2. Then, using “yfinance” python module, the required data about each of the ticker symbols were fetched. There were approximately 6800 ticker symbols whose publicly available data were collected.
  3. Then, using OpenRefine, the data was cleaned and a new column (named “classification_quality”) was introduced with three possible values - FULL, PARTIAL and UNKNOWN - based on the availability of column values for each row. There were also a couple of blank rows which had to be removed. Finally, there were 6435 rows covering EQUITY, ETF, and MUTUAL FUND types of assets.

These data will help OpenRisk to determine which asset the user holds. Next, I’ll be working on factors that cause significant impacts on the holder.

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
Saptarshi Sarkar

Fixed error for which JavaFX fails to start up. Finally, the maven build works.

Attachment
Attachment
0
Saptarshi Sarkar

Created project structure with 3 modules:

  1. openrisk-core: All finance calculations go here
  2. openrisk-data: SQLite and CSV import
  3. openrisk-ui: JavaFX project with MVC structure

Would start with the main code and functionality next. Check the below recording for the directory structure (output of tree command 😅)

0
Saptarshi Sarkar

Created project banner and logo

Feedback are welcome and appreciated.

Attachment
Attachment
0
Saptarshi Sarkar

Finally fixed the issue of previous incomplete download tasks interfering with test download tasks.

0
Saptarshi Sarkar

Finally got the GUI testing to work in Drifty GUI. I have used TestFx with JUnit 5.
P.S.: Will fix the last error soon.

0