Александр Ц., информатика - точная наука, соответственно в технической литературе не может быть разночтений или различных мнений, обсуждать там нечего. Если что-то непонятно, надо перечитать про это или прочитать что-то дополнительное. В крайнем случае, можно пойти на технический ресурс посвящённый конкретной технологии и задать вопрос о непонятом.
Во-первых, это не глобальная переменная, а объект-одиночка. Во-вторых, именно подобные архитектурные решения не позволяют использовать во Flask многопоточность и делают его плохо масштабируемым. В-третьих, глобальные переменные - это антипаттерн. О чём много лет пишут в умных книгах аксакалы от разработки. И в частности сам создатель языка Python высказывался, что оператор global был введён в язык как маркер плохого кода.
KopatychKosalapov, ресурс, к которому обращается модуль yfinance, возвращает ответ не в формате JSON. Такое обычно бывает в результате блокировки при слишком частых обращениях.
kingslayer, как минимум читать документацию и осваивать на пользовательском уровне. В идеале прочитать Таненбаума. Программист должен уверенно владеть командной строкой, свободно конфигурировать и тюнинговать ОС, понимать принципы её работы и окружение, в котором будет эксплуатироваться его софт.
neol, асинхронность, в узком значении этого термина - это выполнение сопрограмм в цикле событий. Сопрограммы отдают управление циклу событий самостоятельно, никто у них его не отбирает.
Morrowind, Django тоже не потокобезопасный. И в Django, и в Flask потребность в асинхронном фоновом выполнении задач решается с помощью Celery и ей подобных.
dmshar, если отталкиваться от текста статьи по первой ссылки, то data engineer'у математика вообще не нужна. Вот только на практике data scientist и data engineer обычно не разделяются, на сколько мне известно.