Проблема: Наша компания предоставляет услуги по акционерному консультированию. Некоторые из наших клиентов торгуют наши рекомендуемые акции с убытком, покупая по высокой цене и продавая по низкой цене. Нам необходимы очень простые торговые модели с сравнительными результатами, чтобы показать клиентам, как они могут увеличить стоимость своих инвестиционных счетов с помощью наших акций.
Решение: Data mining – особенно этапы предварительной обработки данных, предварительного анализа данных и отчетности – могут быть очень полезными для решения вашей проблемы. В этом блоге рассматриваются шесть акций, таких как те, которые могут быть рекомендованы вашей фирмой, чтобы представить результаты трех различных торговых стратегий. Торговые стратегии акций намеренно просты, чтобы их можно было легко программировать с помощью T-SQL и понимать вашими клиентами, занимающимися торговлей акциями. Все рассматриваемые стратегии соответствуют показу клиентам, как они могут увеличить стоимость своих инвестиционных счетов.
Исходные данные для этого анализа – это цены акций с сайта Google Finance. Эти данные доступны бесплатно. В блоге показано, как загрузить цены акций в файлы CSV. Затем данные переносятся в таблицы SQL Server. После переноса данных о ценах акций в базу данных SQL Server они подвергаются предварительной обработке, чтобы их можно было изучить, как выполняются каждая из трех торговых стратегий акций.
Одна из торговых стратегий акций зависит от скользящих средних цен акций. В этом блоге приведено простое объяснение скользящих средних, а также простой способ их вычисления для данных о ценах акций. В последней части блога сравниваются прибыли и убытки от трех торговых стратегий. Сравнения проводятся для каждой из шести акций отдельно и в целом. Сравнения вычисляются на основе количества акций на акцию, а также на основе лота акций. Лот акций – это набор акций для акции, которые покупаются и продаются как единое целое.
Чтобы загрузить данные с сайта Google Finance, вы можете использовать следующий URL: http://www.google.com/finance/historical?q=stock_symbol&startdate=start_date&enddate=end_date&output=csv. Замените stock_symbol на символ акции, для которой вы хотите загрузить данные, start_date на начальную дату диапазона данных и end_date на конечную дату диапазона данных.
Чтобы перенести файлы CSV в таблицы SQL Server, вы можете использовать предоставленный скрипт T-SQL. Скрипт создает необходимые таблицы и заполняет их данными из файлов CSV. Убедитесь, что перед запуском скрипта создана база данных с именем stock_history_data.
После того, как данные находятся в таблицах SQL Server, вы можете их предварительно обработать, чтобы вычислить скользящие средние и подготовить их для оценки торговых стратегий. В блоге предоставлен код T-SQL для вычисления 10-дневной и 30-дневной скользящих средних по данным о ценах акций.
Три торговые стратегии, оцениваемые в этом блоге, следующие:
- Общее правило покупки и удержания: покупает акции для акции по открытой цене первого торгового дня июля 2014 года и продает эти акции по закрытой цене в последний торговый день июля 2016 года.
- Ежемесячное правило покупки и удержания: покупает акции для акции по открытой цене каждого месяца с июля 2014 года по июль 2016 года. В последний торговый день каждого месяца правило продает акции, купленные в начале месяца.
- Условная стратегия покупки и удержания: покупает акции для акции только тогда, когда краткосрочная тенденция цены в начале месяца, как указывает 10-дневное скользящее среднее, больше долгосрочной тенденции, как указывает 30-дневное скользящее среднее. В противном случае, в течение месяца не производится покупка акций.
В блоге предоставлен код T-SQL для оценки этих торговых стратегий и вычисления прибылей и убытков на акцию и на лот акций.
Наконец, в блоге представлены три отчета SSRS, которые подводят итоги результатов торговых стратегий. Отчеты сравнивают прибыли и убытки для каждой стратегии на акцию и на лот акций.
Следуя описанным в этом блоге шагам, вы можете проанализировать эффективность различных торговых стратегий и предоставить ценные идеи вашим клиентам о том, как увеличить стоимость их инвестиционных счетов.