SkillAgentSearch skills...

Simple Rich Trading Journal

Trading journal with statistical analysis and balance sheets.

Install / Use

npx skills add Simple-Rich-Trading-Journal/Simple-Rich-Trading-Journal

Installs 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 python could be different depending on the operating system or version, e.g. python3.10 or py).

  • srtj is added to the Python Package Index. Use the module pip to 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

View on GitHub
GitHub Stars50
CategoryFinance
Updated27d ago
Forks11

Languages

JavaScript

Security Score

85/100

Audited on Jul 12, 2026

No findings