You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Mock 데이터 생성 테스트
|
|
"""
|
|
|
|
from mock_test import MockStockOracleAnalyzer
|
|
import json
|
|
from datetime import datetime, timedelta
|
|
|
|
# Mock analyzer 생성
|
|
analyzer = MockStockOracleAnalyzer()
|
|
|
|
# 데이터 가져오기
|
|
ticker = "AAPL"
|
|
years = 1
|
|
data = analyzer.get_company_data(ticker, years=years)
|
|
|
|
print("Company Info:", data.get('company_info'))
|
|
print("\n")
|
|
|
|
# Financial data structure
|
|
financial_data = data.get('financial_data', {})
|
|
print("Financial data keys:", financial_data.keys())
|
|
|
|
# Check income statement
|
|
income_statement = financial_data.get('income_statement', {})
|
|
print("\nIncome statement keys:", income_statement.keys())
|
|
|
|
# Check revenue data
|
|
revenue_data = income_statement.get('revenue', [])
|
|
print(f"\nRevenue data points: {len(revenue_data)}")
|
|
if revenue_data:
|
|
print("First revenue data point:", revenue_data[0])
|
|
print("Last revenue data point:", revenue_data[-1])
|
|
|
|
# Date filtering test
|
|
start_date = datetime(2020, 1, 1)
|
|
end_date = datetime(2020, 6, 1)
|
|
|
|
filtered_revenue = []
|
|
for item in revenue_data:
|
|
item_date = item['date']
|
|
if hasattr(item_date, 'to_pydatetime'):
|
|
item_date = item_date.to_pydatetime()
|
|
|
|
if start_date <= item_date <= end_date:
|
|
filtered_revenue.append(item)
|
|
|
|
print(f"\nFiltered revenue data points (2020-01-01 to 2020-06-01): {len(filtered_revenue)}")
|
|
for item in filtered_revenue:
|
|
print(f" Date: {item['date']}, Value: ${item['value']:,.0f}") |