2024-08-01 13:53:10 -05:00
|
|
|
<?php
|
|
|
|
|
|
2025-01-28 17:33:54 -06:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
2024-08-01 13:53:10 -05:00
|
|
|
namespace App\Interfaces\MarketData;
|
|
|
|
|
|
2024-10-29 16:34:18 -05:00
|
|
|
use App\Interfaces\MarketData\Types\Quote;
|
2025-01-28 17:14:49 -06:00
|
|
|
use Illuminate\Support\Collection;
|
2024-08-01 13:53:10 -05:00
|
|
|
|
|
|
|
|
interface MarketDataInterface
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Does this symbol actually exist?
|
|
|
|
|
*/
|
2025-01-28 17:14:49 -06:00
|
|
|
public function exists(string $symbol): bool;
|
2024-08-01 13:53:10 -05:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get quote data
|
|
|
|
|
*/
|
2025-01-28 17:14:49 -06:00
|
|
|
public function quote(string $symbol): Quote;
|
2024-08-01 13:53:10 -05:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get dividend data
|
|
|
|
|
*/
|
2025-01-28 17:14:49 -06:00
|
|
|
public function dividends(string $symbol, \DateTimeInterface $startDate, \DateTimeInterface $endDate): Collection;
|
2024-08-01 13:53:10 -05:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get split data
|
|
|
|
|
*/
|
2025-01-28 17:14:49 -06:00
|
|
|
public function splits(string $symbol, \DateTimeInterface $startDate, \DateTimeInterface $endDate): Collection;
|
2024-09-09 20:50:18 -05:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get historical close data
|
|
|
|
|
*/
|
2025-01-28 17:14:49 -06:00
|
|
|
public function history(string $symbol, \DateTimeInterface $startDate, \DateTimeInterface $endDate): Collection;
|
2024-08-01 13:53:10 -05:00
|
|
|
}
|