semvec/pypi-packages huggingface dataset:
topsis-Devyansh-102003604 1.0.3
Calculating topsis score and finding rank
License: MIT

## topsis_Devyansh-102003604

# TOPSIS

Submitted By: **Devyansh Bansal - 102003604**.

Type: **Package**.

Title: **TOPSIS method for multiple-criteria decision making (MCDM)**.

Version: **1.0.0**.

Date: **2023-01-22**.

Author: **Devyansh Bansal**.

Maintainer: **Devyansh Bansal <devyanshbansal@gmail.com>**.

Description: **Evaluation of alternatives based on multiple criteria using TOPSIS method.**.

---

## What is TOPSIS?

**T**echnique for **O**rder **P**reference by **S**imilarity to **I**deal **S**olution
(TOPSIS) originated in the 1980s as a multi-criteria decision making method.
TOPSIS chooses the alternative of shortest Euclidean distance from the ideal solution,
and greatest distance from the negative-ideal solution.

<br>

## How to install this package:

```
>> pip install topsis-Devyansh-102003604
```

### In Command Prompt

```
>> topsis data.csv "1,1,1,1" "+,+,-,+" result.csv
```

## Input file (data.csv)

The decision matrix should be constructed with each row representing a Model alternative, and each column representing a criterion like Accuracy, R<sup>2</sup>, Root Mean Squared Error, Correlation, and many more.

| Model | Correlation | R<sup>2</sup> | RMSE | Accuracy |
| ----- | ----------- | ------------- | ---- | -------- |
| M1    | 0.79        | 0.62          | 1.25 | 60.89    |
| M2    | 0.66        | 0.44          | 2.89 | 63.07    |
| M3    | 0.56        | 0.31          | 1.57 | 62.87    |
| M4    | 0.82        | 0.67          | 2.68 | 70.19    |
| M5    | 0.75        | 0.56          | 1.3  | 80.39    |

Weights (`weights`) is not already normalised will be normalised later in the code.

Information of benefit positive(+) or negative(-) impact criteria should be provided in `impacts`.

<br>

## Output file (result.csv)

| Model | Correlation | R<sup>2</sup> | RMSE | Accuracy | Topsis_score | Rank |
| ----- | ----------- | ------------- | ---- | -------- | ------------ | ---- |
| M1    | 0.79        | 0.62          | 1.25 | 60.89    | 0.7722       | 2    |
| M2    | 0.66        | 0.44          | 2.89 | 63.07    | 0.2255       | 5    |
| M3    | 0.56        | 0.31          | 1.57 | 62.87    | 0.4388       | 4    |
| M4    | 0.82        | 0.67          | 2.68 | 70.19    | 0.5238       | 3    |
| M5    | 0.75        | 0.56          | 1.3  | 80.39    | 0.8113       | 1    |

<br>
The output file contains columns of input file along with two additional columns having **Topsis_score** and **Rank**
lisatools 0.5.1
Tools for monitoring my Lifetime ISA portfolio.
License: MIT
Requires Python: >=3.9,<4.0

# lisatools

Tools for monitoring my Lifetime ISA portfolio.

## Installation

```bash
$ pip install lisatools
```

## Usage

`lisatools` provides classes and functions that help me manage my Lifetime ISA
fund portfolio. For example, I can calculate the trades required to obtain
my target portfolio as in the following snippet:

```python
import lisatools
import datetime

ftse_global = lisatools.Fund(
    "FTSE Global All Cap Index Fund",
    172.14,
    isin="GB00BD3RZ582",
    date=datetime.date(2022, 11, 21)
)
gilts = lisatools.Fund(
    "U.K. Gilt UCITS ETF (VGOV)",
    18.58,
    isin="IE00B42WWV65",
    date=datetime.date(2022, 11, 21)
)
holding1 = lisatools.Holding(ftse_global, 1.0, 0.6)
holding2 = lisatools.Holding(gilts, 5.0, 0.4)
pf = lisatools.Portfolio([holding1, holding2])

buy, sell = pf.trade_to_target()
print("Buy:\n=====", buy, "\nSell:\n=====", sell, sep = "\n")
```

[A more elaborate example](/docs/example.ipynb) is provided in the /docs/ folder.

## License

`lisatools` was created by Istvan Kleijn. It is licensed under the terms of the MIT license.

## Credits

`lisatools` was created with [`cookiecutter`](https://cookiecutter.readthedocs.io/en/latest/) and the `py-pkgs-cookiecutter` [template](https://github.com/py-pkgs/py-pkgs-cookiecutter).