Spaces:
Runtime error
Runtime error
| import unittest | |
| import pandas as pd | |
| class TestDataQuality(unittest.TestCase): | |
| def setUp(self): | |
| # Load your data here | |
| self.data = pd.read_csv("data/assets_data.csv") | |
| def test_completeness(self): | |
| # Check for missing values | |
| missing_values = self.data.isnull().sum() | |
| self.assertEqual(missing_values.sum(), 0, | |
| "There are missing values in the dataset.") | |
| def test_accuracy(self): | |
| # Define acceptable ranges for numerical columns | |
| acceptable_ranges = { | |
| "open": (0, 100000), | |
| "high": (0, 100000), | |
| "low": (0, 100000), | |
| "close": (0, 100000), | |
| } | |
| # Check if values are within acceptable ranges | |
| for column, (min_val, max_val) in acceptable_ranges.items(): | |
| values = self.data[column] | |
| self.assertTrue(all(min_val <= values) and all(values <= max_val), | |
| f"Values in {column} column are outside the" | |
| " acceptable range." | |
| ) | |
| def test_consistency(self): | |
| # Check for duplicate rows | |
| duplicate_rows = self.data[self.data.duplicated()] | |
| self.assertTrue(duplicate_rows.empty, "Duplicate rows found in the" | |
| " dataset." | |
| ) | |
| def test_validity(self): | |
| # Check date format validity | |
| date_format_valid = pd.to_datetime(self.data.index, errors='coerce') \ | |
| .notna().all() | |
| self.assertTrue(date_format_valid, "Date format is not valid.") | |
| # Check format validity for specific columns (e.g., symbols) | |
| symbol_columns = ["000001.SS", "AAPL", "CL=F", "GC=F", "HG=F", | |
| "NVDA", "^DJI", "^GSPC", "^N100", "^N225"] | |
| valid_symbol_format = self.data[symbol_columns].notna() | |
| self.assertTrue(valid_symbol_format.all().all(), "Invalid symbol" | |
| " format found.") | |
| if __name__ == '__main__': | |
| unittest.main() | |