Skip to main content

Random stock quotes generator based on real data distribution

Project description

test codecov

rndqts

Random stock market quotes

Latest version

Installation

as a standalone lib.

# Set up a virtualenv. 
python3 -m venv venv
source venv/bin/activate

# Install from PyPI...
pip install rndqts

# ...or, install from updated source code.
pip install git+https://github.com/davips/rndqts

as an editable lib inside your project.

cd your-project
source venv/bin/activate
git clone https://github.com/davips/rndqts ../rndqts
pip install -e ../rndqts

Examples

Fetching from Yahoo

from rndqts import Real

print(Real("VALE3.sa").data)
"""
                 Open       High        Low      Close    Volume
Date                                                            
2020-12-01  79.830002  81.500000  79.250000  81.250000  61441200
2020-12-02  80.900002  81.250000  77.309998  79.839996  53703300
2020-12-03  81.000000  81.050003  78.610001  78.959999  35158600
2020-12-04  80.099998  82.680000  80.099998  82.269997  38441000
2020-12-07  82.419998  82.989998  81.669998  82.949997  27398500
2020-12-08  82.970001  83.300003  81.660004  82.900002  28598800
2020-12-09  83.099998  83.830002  82.220001  82.699997  26938500
2020-12-10  83.650002  85.220001  83.199997  85.000000  41230700
2020-12-11  84.620003  85.279999  84.400002  84.760002  17825100
2020-12-14  85.199997  85.220001  82.949997  83.550003  20931700
2020-12-15  83.550003  85.379997  83.550003  84.500000  18762800
2020-12-16  84.900002  86.230003  84.360001  86.220001  23038300
2020-12-17  86.500000  87.949997  86.169998  87.199997  21367800
2020-12-18  87.620003  88.349998  87.430000  88.190002  13534400
2020-12-21  86.150002  87.400002  84.779999  86.860001  31877300
2020-12-22  86.860001  86.989998  85.430000  86.940002  23157000
2020-12-23  86.529999  87.529999  86.400002  87.360001  17710200
2020-12-28  87.790001  88.580002  87.080002  87.309998  26001300
2020-12-29  87.970001  88.199997  86.510002  87.070000  19727500
2020-12-30  87.190002  87.589996  86.650002  87.449997  30102700
"""

Random stock quotes

from rndqts import Realistic
from rndqts import Real

# Real quotes to fetch from Yahoo.
r1 = Real("PETR4.sa")
r2 = Real("CSNA3.sa")
r3 = Real("VALE3.sa")
r4 = Real("USIM5.sa")

# Generating random quotes.
print(Realistic([r1, r2, r3, r4]).data)
"""
        Open    High     Low   Close  Volume
Date                                        
0      99.00   99.91   98.32   99.18   12499
1     112.18  121.43  112.18  109.59   15623
2     111.38  114.11  107.45  111.46   11805
3     110.42  111.39  109.03  110.30   10416
4     111.11  111.40  110.25  110.61   13019
...      ...     ...     ...     ...     ...
147    92.82   94.06   92.82   92.82       5
148    93.67   96.21   93.65   94.16       5
149    92.54   96.34   91.04   93.43       7
150    97.06  101.07   95.33   96.71       7
151   100.05  107.92  100.05  100.05       9

[152 rows x 5 columns]
"""

Saving as a CSV file

from rndqts import Real

Real("VALE3.sa").data.to_csv("/tmp/myfile.csv")

Plotting

from rndqts import Real

Real("VALE3.sa").plot()
"""
Fetching VALE3.sa ...
[*********************100%***********************]  1 of 1 completed
"""

Output as a browser window

Features / TODO

  • Fetch from yahoo

  • Automatic local caching

  • Slicing

  • Plot candle sticks

  • Realistic random quotes

    • Ticker 'pseudo' generates (not so realistic) data without real quotes dependence (good for tests)
  • Distinct kinds of quotes: Real, Realistic random, Synthetic Random

    • Cacheable and identified by hash of args

    • Real (market quotes)

    • Realistic (realistic random quotes, .i.e, it is based on real quotes)

    • Synthetic (quotes based interily on Gaussian distributions from pseudo random number generator)

      • Lazy/Infinite
  • News fetching

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rndqts-0.2101.22.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

rndqts-0.2101.22-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file rndqts-0.2101.22.tar.gz.

File metadata

  • Download URL: rndqts-0.2101.22.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for rndqts-0.2101.22.tar.gz
Algorithm Hash digest
SHA256 6b6780102c234a6c40d3a0cc67e250dabbb9711cfa65b225d5fc696d84847cd7
MD5 58b8054d8cf86ee7bcd49e7cc85a1784
BLAKE2b-256 a2288d90bee76ebc63e15937ad247836fcb83a487bb509a4a903f3a786cf8ccd

See more details on using hashes here.

File details

Details for the file rndqts-0.2101.22-py3-none-any.whl.

File metadata

  • Download URL: rndqts-0.2101.22-py3-none-any.whl
  • Upload date:
  • Size: 29.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for rndqts-0.2101.22-py3-none-any.whl
Algorithm Hash digest
SHA256 5ed4b2f95faa8c2acd9b0de1e9c6ec59d31f699fa35036f799bcc6b64885c8d9
MD5 71e0d8d2a80738780705856740d48625
BLAKE2b-256 1356941f0d9d78d96bcc46bd5a0f7ccb873408d7400a3f980e5e640f2036fb1c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page