stockobjects
A simple set of objects for representing stock and sector objects in Python.
Learning intention
- Packaging my own reusable modules
- Working towards mastery of OO in Python - more advance scoping, testing, inversion of control, dunder methods
- More advanced testing approaches
todo
- More testing
- Use mocking
- Additional validation for dates and checking that exceptions are raised in all edge cases
- Moving from dict to custom objects for quote collections so that I can use built-in methods via dunders and type hinting for how to interact (dicts provide no hints)
Usage
Data structure
SectorCollection object contains 0:m Sector objects Sector object contains 0:m SectorQuote objects Sector object contains 0:m Company objects Company object contains 0:m CompanyQuote objects
Examples
Instantiate the SectorCollection. A better name (todo!) would be Market instead of SectorCollection
my_collection = SectorCollection(name="My first collection")
Instantiate a sector to add to the SectorCollection
my_sector = Sector(sector_name="Fruit sector", sector_code="xbf")
my_collection.add_sector(my_sector)
Instantiate a company and add it to the sector
my_company = Company(company_name="Banana company", company_code="ban", sector_object=my_sector)
my_collection.get_sector(my_sector.sector_code).add_company(my_company)
From here, instantiate SectorQuotes and Company quotes And then start querying them