Comments (4)
Флаг использования локальных данных - значение по умолчанию True
Флаг не нравится, это какое-то ненужное ветвление. Можно реализовать так:
- класс всегда обращается к кэшу (локальной копии),
- есть метод
update()
который эту локал обновляет - нужные данные висят на свойствах класса
Пример реализации тут, как принцип, сама реализация так себе.
Данные хранятся в формате csv (при необходимости в xlsx)
Только не xlsx, прошу ) xlsx у нас только прокси ответ один сервера, это не данные.
Типы данных, содержащие один элемент, + Типы данных, содержащих несколько элементов,
непонятно что это такое
Структура и поведение класса
Нужно определиться зачем использовать класс, а не функции, как правило, это наличие state - состояния системы, которое может изменяться. Класс может объединять несколько функций, некоторые из них уже есть (загрузка), некоторых нет (валидация, хранение в локальной файл, чтение из локального файла). Как только есть функции, которые делают нужные вещи, объединить их в класс особо не сложно.
Нужны:
- (больше всего) описание итоговых данных, которые будут висеть на свойствах класса
- функции хранения-чтения данных
- хелперы для файловой структуры, что куда складывать (на основе этого кода)
- валидаторы целостности данных
from poptimizer_old.
Флаг не нравится, это какое-то ненужное ветвление. Можно реализовать так:
- класс всегда обращается к кэшу (локальной копии),
- есть метод
update()
который эту локал обновляет- нужные данные висят на свойствах класса
Идея не в том, что иногда обновлять надо, а иногда нет - обновлять надо всегда или по немому правилу (например, раз в день или раз в неделю, периодичность хранится в некой переменной на уровне класса или модуля). Флаг True подразумевает, что локальные данные используются и обновляются.
Флаг False предполагает, что локальные данные надо полностью перезаписать с нуля и выдать данные напрямую из выгрузки.
Немного исправил в описании наименование флага: Флаг удаления локальных данных - значение по умолчанию False
Только не xlsx, прошу ) xlsx у нас только прокси ответ один сервера, это не данные.
У меня есть данные, которые я сам локально храню в xlsx. Их хотел забросить напрямую в папку и функция будет их загружать. Все остальные данные, которые берутся из инета будут храниться в csv.
Типы данных, содержащие один элемент, + Типы данных, содержащих несколько элементов,
непонятно что это такое
Есть класс данных инфляция: у нас один элемент в этом классе - хранится прям в корне папки данных
Есть класс котировки: там много элементов, соответствующих отдельным тикерам - создается папка котировки и в ней файлы для каждого тикера.
Добавил примеры в описание
Нужно определиться зачем использовать класс, а не функции, как правило, это наличие state - состояния системы, которое может изменяться. Класс может объединять несколько функций, некоторые из них уже есть (загрузка), некоторых нет (валидация, хранение в локальной файл, чтение из локального файла). Как только есть функции, которые делают нужные вещи, объединить их в класс особо не сложно.
У нас везде будут похожие функции: загрузка локальных версий, в половине случаев определение последней даты в локальных данных, получение остатка данных из интернета (обращение к модулю download), валидация насколько они совпадают на месте склейки, сохранение обновленной локальной версии, выдача результирующего полного DataFrame. в некоторых случаях дополнительная валидация #5
Нужны:
- (больше всего) описание итоговых данных, которые будут висеть на свойствах класса
Итоговый обновленный или целиком из интернета (если есть флаг стереть локальные данные), или частично из интернета/частично из локальных данных DataFrame.
- функции хранения-чтения данных
Не очень понял, что это такое
- хелперы для файловой структуры, что куда складывать (на основе этого кода)
Это можно выделить в отдельный файлик и импортировать потом в каждый их файлов реализации загрузки данных. Добавил ишью
- валидаторы целостности данных
Я предлагаю валидировать совпадение данных на месте склейки для данных, которые могут быть выгружены из интернета, начиная с какой-то даты
Для данных выгружаемых полностью - проверять полное совпадение с локальными данными
В описании это есть - или ты что еще имеешь ввиду?
from poptimizer_old.
Флаг False предполагает, что локальные данные надо полностью перезаписать с нуля и выдать данные напрямую из выгрузки.
Немного исправил в описании наименование флага: Флаг удаления локальных данных - значение по умолчанию False
Скажу по-другому - в конструкторе класса флагов быть не должно. Логику которую ты хочешь организовать - можно сделать в виде управляющих/функций классов, но с ветвлением внутри класса - маленькая жесть.
Остальные вопросы - разбивать на отдельные ишью.
from poptimizer_old.
Реализовал блок - сохранения локальной версии, ее обновления и выдачи данных по котировкам. Посмотри, нет ли принципиальных возражений. По аналогии хочу сделать с другими загружаемыми данными.
from poptimizer_old.
Related Issues (20)
- отделить логику создания, обновления и чтения данных HOT 10
- Переделать getter CPI с классом HOT 1
- Переделать getter securities_info с классом HOT 1
- доп. данные по дивидендам HOT 1
- Переписать тесты HOT 1
- убрать required test coverage
- локальные данные не работают HOT 3
- не работает скачивание данных HOT 2
- Метрики дивидендного потока
- Запрос общей информации по бумагам не должен дергать интернет HOT 1
- Метрики доходности
- Реализовать подбор константы сглаживания для более реального распределения HOT 1
- Обрезка при расчете константы сглаживания
- Реализовать оптимизацию по Парето
- Учёт оборотов
- Повысить скорость исполнения HOT 1
- В класс портфеля нужно добавить последние объемы HOT 1
- Из класса портфеля убрать массив цен HOT 1
- Расчет метрик текущего дня HOT 1
- Отчёт по динамике портфеля HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from poptimizer_old.