A simple stocks package
Project description
thestockslib
A simple library to manage stocks data
Sample code
# library import
from thestockslib import TheStock
# initialization
stock = TheStock('AAPL')
# getting live price
stock.getliveprice()
# getting current Yahoo recommendation
r = stock.getyahoorecommendation()
TheStock.getyahoorecommendationstring(r)
# getting Yahoo performance outlook information (short term, medium term, long term)
stock.getyahooperformanceoutlook()
# getting historical price at July 31st, 2020
stock.gethistoricalprice('2020-07-31')
# adding some mapping to recommendations actions
stock.addactiontoperiod('buy', 7) # when a 'buy' suggestion is received, consider a sell after 7 days
stock.addactiontoperiod('strong buy', 7) # when a 'strong buy' suggestion is received, consider a sell after 7 days
stock.addactiontoperiod('long-term buy', 30) # when a 'long-term buy' suggestion is received, consider a sell after 30 days
# initializing the suggester name
suggestername = 'Cascend'
# simulating purchases by suggester name
purchases = stock.simulatepurchases(suggestername)
print(purchases)
# simulating sells
stock.simulatesells(purchases)
# compute suggester's reliability for 'buy' actions
stock.getsuggestionreliability(suggestername, 'buy')
Available Enums
ConsideredAverage
This Enum
is used to pass as input the average method to adopt, when historical data are requested.
Following values are possible:
OPEN_CLOSE
, to consider as daily value the average between open and close prices for a given stockHIGH_LOW
, to consider as daily value the average between higher and lower prices for that day, for given stock
Available classes
Just a single TheStock
class is available.
Following methods are supported:
-
__init__(self, t, df='%Y-%m-%d', ca=ConsideredAverage.OPEN_CLOSE)
, initializes theTheStock
objectt
(str
) is the ticker/symboldf
(str
) is the date format to considerca
(ConsideredAverage
) is the average to consider
-
addactiontoperiod(a, p)
, adds a match between a recommendation action and the duration to consider for that recommendationa
(str
) is the action title/name, as mapped with the list of recommedationsp
(int
) is the period to consider, in days
-
convertdatetime(d)
, converts a datetime objectd
to a string, in the formatdf
passed during the object initializationd
(datetime
) the datetime object to convert
-
getliveprice(round_decimals=2)
, returns the current live price for the current symbolround_decimals
(int
) the decimals to consider for rounding
-
gethistoricalprice(d, round_decimals=2)
, returns the historical price for the current symbol at timed
d
(datetime
) the date to considerround_decimals
(int
) the decimals to consider for rounding
-
simulatepurchases(s)
, simulates purchases of the current symbol for the suggesters
s
(str
) the suggester's name to consider
-
simulatesells(p)
, simulates sell of given purchasesp
, after the expiration of the relative period for the action suggested for that purchasep
(list
) the list of purchases objects
-
getsuggestionreliability(suggester, suggestion, transactionprice=0.0)
, computes the reliability of a given suggester for a given suggestionsuggester
(str
) the suggester's namesuggestion
(str
) the suggestion actiontransactionprice
(float
) the price for transaction to consider
-
generategraphs(fcast_time, apikey, outputname_pre='')
, generates the graphs to be displayed for the current symbolfcast_time
(int
) the forecast time to consider, in daysapikey
(str
) the API key to consideroutputname_pre
(str
) the preliminary file name to use for generated graphs
-
getyahoorecommendation()
, returns the current Yahoo recommendation for the current symbol -
getyahooperformanceoutlook()
, returns the current Yahoo performance outlook for the current symbol (output is a list containing, in order, short term, medium term, long term results)
Following statical methods are supported:
-
getrevolutsymbols()
, returns the list of symbols supported by Revolut -
combineimages(l, vertical=False, outputfile='output.png')
, combines a list of images to an output filel
(list
) the list of file names of the input images to combinevertical
(bool
) the combination mode (vertical or horizonal)outputfile
(str
) the output file name to generate
-
removeimages(outputname_pre='')
, removes all images generatedoutputname_pre
(str
) the preliminary file name to use for generated graphs
-
getyahoorecommendationstring(r)
, retrieves the Yahoo recommendation string from the input value represented asfloat
r
(float
) the recommendation value represented asfloat
TODO
- Improve code readability
Contacts
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for thestockslib-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cc443c9821724b85f7c1bbf332acfedb283bce2a2aa5f12df7f9045c893e504 |
|
MD5 | 048616ec3ee6ecb5a43f776b97ea75d9 |
|
BLAKE2b-256 | 0555be7835326e737623443dfcfb81c4243d47a59b5951c7ed137869b0aedb41 |