Simple Rich Trading Journal
Trading journal with statistical analysis and balance sheets.
Install / Use
npx skills add Simple-Rich-Trading-Journal/Simple-Rich-Trading-JournalInstalls into whichever agent you are using.
README
.. image:: https://img.shields.io/badge/build-discontinued-red
.. figure:: https://raw.githubusercontent.com/Simple-Rich-Trading-Journal/docs/main/srtj-main/Banner400.png :align: center :target: https://github.com/Simple-Rich-Trading-Journal/Simple-Rich-Trading-Journal
Simple Rich Trading Journal ###########################
Simple Rich Trading Journal (srtj) is a journal for your private trading portfolio. The application runs as a local server and the user interface can be called up in a browser.
NOTE: For (Windows) Edge Users, Required System Rights
.. image:: https://raw.githubusercontent.com/Simple-Rich-Trading-Journal/docs/main/srtj-main/Main.png :align: center
✨ The project was realized with the opensource packages from plotly_ and CodeMirror_.
.. image:: https://raw.githubusercontent.com/Simple-Rich-Trading-Journal/docs/main/srtj-main/cc.png :align: right :width: 100px :target: https://creativecommons.org/licenses/by-nc-nd/4.0/?ref=chooser-v1
This work is licensed under CC BY-NC-ND 4.0_.
Development Status
0.6.2 #2 (`current note`_)
.. image:: https://img.shields.io/badge/build-discontinued-red
srtj is currently not being further developed or maintained by its creator and remains in beta status (no official release)
Table of Contents
→ All Contents_
-
Install and Run_Required System Rights_Upgrade and Migration_Demo_
-
The Journal_General Information_Records_General Editing Features_Additional Editing Interfaces_Filtering, Indexing and Scopes_Highlighting, Marking and Categorization_
-
Environs and Profiles_Trading-Journals.srtj Files_Creating a Sub-Profile_Runtime Configurations - Hierarchy_
-
Your Display Environ (GUI)_For (Windows) Edge Users_ShowCase Browser (beta)_
-
Nice to Know_General_Bug Notes_Version History_Whats Next_
→ All Contents_
Install and Run
-
Install the latest version of the
Python interpreter_. At least version 3.10 is required. -
Then, open a terminal/cmd/shell (the program name
pythoncould be different depending on the operating system or version, e.g.python3.10orpy). -
srtjis added to the Python Package Index. Use the modulepipto install it:
.. code::
python -m pip install SimpleRichTradingJournal --upgrade
This installs all the required packages and creates the shell command
.. code::
srtj
At the first startup, srtj creates a working directory named Trading-Journals.srtj
and the file .srtj in your home directory. In .srtj the path to Trading-Journals.srtj
is saved in which the profiles of srtj are saved.
For more information on the directory structure, file handling, personalization's and profiles,
see Environs and Profiles_.
For a user-defined root directory in which Trading-Journals.srtj is to be created, execute:
.. code::
srtj install <your root directory>
After start by
.. code::
srtj
the following message is displayed in the terminal:
.. code::
Dash is running on http://127.0.0.1:8050/
* Serving Flask app 'Simple Rich Trading Protocol'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:8050
Press CTRL+C to quit
The user interface can now be called up via the link in a browser.
↑ Table of Contents_
Required System Rights
See also `srtj upgrade all`_, `Trading-Journals.srtj Files`_, `Creating a Sub-Profile`_
srtj creates symlinks when installing, creating sub-profiles and executing
the upgrade directive. Administrative rights may be required for this. Execute
srtj in an appropriate shell (run as administrator / sudo).
If the error occurs when creating a sub-profile, it will not be fully created,
srtj will not register this.
Run srtj upgrade / <profile> in a shell with administrative rights to repair the profile.
If the error occurs during installation, the Trading-Journals.srtj folder in the installation directory should be completely deleted before running it again in a shell with administrative rights.
Upgrade and Migration
srtj upgrade all
See also Trading-Journals.srtj Files, Required System Rights
Since version 0.5 the command line directive upgrade all is available.
.. code::
srtj upgrade all
This updates all server files, configuration templates and profile
files that do not yet exist.
Activated configuration files are generally not affected, new attributes
may have to be updated manually (the changes are mentioned in the update notes).
However, it is possible that requests will be submitted for this purpose, among others.
Your journal data and caches will not be affected!
The directive does not affect the demo profile. This can only be
reinitialized by srtj demo init, which deletes all data and configurations
of the demo!
When srtj upgrade all should be executed
- Generally when it is mentioned in an **update note**.
- When a **different python** version is used / updated.
- If the described files are to be **reset**.
From Versions 0.4 to 0.5
------------------------
After the package update, execute:
``srtj upgrade all``
See also `srtj upgrade all`_
From Versions <= 0.3 to 0.4
---------------------------
In versions <= 0.3, srtj saved the journal data in project directory
``src/cache`` with name ``tradinglog.pkl`` (sub-profiles with pattern
``tradinglog-<profile>.pkl``).
`Install`_ and `create sub-profiles`_ as described here.
Then replace the `journal.pkl`_ file with the ``tradinglog[-<profile>].pkl`` file.
The same procedure can be used for the ``history.pkl`` files.
↑ `Table of Contents`_
Demo
====
A demo is available for testing purposes.
The demo must be initialized once using the following command:
.. code::
srtj demo init
You can then call it up directly.
``srtj`` treats the demo like a normal profile, i.e. edits are saved.
Future executions of the ``init`` directive will cause a **reinitialization**.
Remove the ``init`` directive from the command to prevent this.
↑ `Table of Contents`_
The Journal
***********
General Information
===================
- The first record must be a deposit.
- Some columns have a slightly different meaning or function depending on the type of record.
- ITC stands for 'Interests, Taxes and other Costs or Income'.
↑ `Table of Contents`_
Records
=======
Trades
------
.. image:: https://raw.githubusercontent.com/Simple-Rich-Trading-Journal/docs/main/srtj-main/trade_open.png
:align: center
Enter a value greater than ``0`` in the column *n* and define the cells of the columns
*InvestTime* and *InvestAmount* or *InvestCourse* to open a trade. The value from the
*ITC* column is subtracted or added to the final profit in the calculations.
If a value is entered in *TakeAmount* or *TakeCourse* but not in *TakeTime*, the trade
is still considered to be open, the *Profit* and *Performance* cell is calculated and,
if ``with open`` is active, also the summary footer and a visible side section.
.. image:: https://raw.githubusercontent.com/Simple-Rich-Trading-Journal/docs/main/srtj-main/trade_open_with_take.png
:align: center
A trade is considered finalized if *TakeTime* is also defined.
.. image:: https://raw.githubusercontent.com/Simple-Rich-Trading-Journal/docs/main/srtj-main/trade_fin.png
:align: center
Another way to close positions is to give the log a closing instruction.
This can also be used to close several individual positions at once or to close individual
positions only partially.
.. image:: https://raw.githubusercontent.com/Simple-Rich-Trading-Journal/docs/main/srtj-main/close_cmd.png
:align: center
To do this, enter the appropriate *Name*, a negative number *n*, the *TakeTime*
and the *TakeAmount* or *TakeCourse* in a free row.
Deposits
--------
.. image:: https://raw.githubusercontent.com/Simple-Rich-Trading-Journal/docs/main/srtj-main/deposit.png
:align: center
Enter a ``0`` in the column *n* and define the cells of the columns *InvestTime* and
*InvestAmount* to define a deposit. The value from the *ITC* column is subtracted or
added to the amount in the calculations.
The column *Profit* contains the sum of the profits of the following trades in relation to
non-exhausted previous or interim deposits. *Performance* is then calculated in relation to
the amount. The value in *Dividend* is calculated like *Profit*.
Entries in the column group *Take* are not accepted, these are defined by the program
based on following payouts. Once the amount has been exhausted, the deposit record
will no longer receive a profit value from that point on.
.. image:: https://raw.githubusercontent.com/Simple-Rich-Trading-Journal/docs/main/srtj-main/deposit_ex.png
:align: center
Payouts
-------
.. image:: https://raw.githubusercontent.com/Simple-Rich-Trading-Journal/docs/main/srtj-main/payout.png
:align: center
Enter a ``0`` in the column *n* and define the cells of the columns *TakeTime* and
*TakeAmount* to define a payout. The value from the *ITC* column is subtracted
or added to the amount in the calculations.
Payouts are deducted from the sum of deposits, but not from profits. However, if the
payouts exceed the available money, a ITC record is created from the remaining amount.
Entries in the column group *Invest* are not accepted.
The value in *Performance* represents the rate to the sum of previous deposits.
Dividends
---------
.. image:: https://raw.githubusercontent.com/Simple-Rich-Trading-Journal/docs/main/srtj-main/dividend.png
Related Skills
valuecell
11.0kValueCell is a community-driven, multi-agent platform for financial applications.
QuantDinger
10.4kAI quantitative trading platform for crypto, stocks, and forex with backtesting, live trading, market data, and multi-agent research.vibe-trading ,trading-agents,ai-trader,ai-trading
beanquery-mcp
50Beancount MCP Server is an experimental implementation that utilizes the Model Context Protocol (MCP) to enable AI assistants to query and analyze Beancount ledger files using Beancount Query Language (BQL) and the beanquery tool.
finance-skills
3.1kA collection of skills for AI financial analysis.
Languages
Security Score
Audited on Jul 12, 2026
