Этот проект устарел, пожалуйста, перейдите к новому проекту https://github.com/zvtvz/zvt.
Читайте это на других языках: 中文.
«Чтобы выжить на рынке, вы должны избегать быть умными, потому что ваш интеллект ничего не стоит на рынке» — Дзен в хаосе.
Введите интересующие вас акции, чтобы увидеть взаимосвязь между их чистой прибылью и ценой акций. Может быть, вы не думаете, что «фундаментальные» бесполезны?
Например: прибыль Vanke быстро росла, но давление цен на капусту сохранялось в течение нескольких лет, поэтому пришли «варвары»...
И вы могли бы рассчитать все рыночные акции с помощью fooltrader и автоматически уведомить вас, на самом деле это не так сложно.
Посмотрите, как работают американские акции? Операция единообразна.
Вы можете написать стратегию, используя событийно-ориентированный или пошаговый подход, и просматривать и анализировать производительность единообразно.
См. design doc (./docs/trader.md)
class EventTrader(Trader):
def on_init(self):
self.trader_id = 'aa'
self.only_event_mode = True
self.universe = ['stock_sz_000338']
self.df_map = {}
def on_day_bar(self, bar_item):
current_security = bar_item['securityId']
current_df = self.df_map.get(current_security, pd.DataFrame())
if current_df.empty:
self.df_map[current_security] = current_df
current_df = current_df.append(bar_item, ignore_index=True)
self.df_map[current_security] = current_df
if len(current_df.index) == 10:
ma5 = np.mean(current_df.loc[5:, 'close'])
ma10 = np.mean(current_df.loc[:, 'close'])
# buy when ma5 > ma10
if ma5 > ma10 and not self.account_service.get_position(current_security):
self.buy(security_id=current_security, current_price=bar_item['close'])
# buy when ma5 < ma10
elif ma5 < ma10 and self.account_service.get_position(current_security):
self.sell(security_id=current_security, current_price=bar_item['close'])
current_df = current_df.loc[1:, ]
self.df_map[current_security] = current_df
Запуск стратегии позволяет просматривать результаты в реальном времени и проводить дальнейшую оценку
Пока общая капитализация рынка близка к ВВП, она в основном является максимальной.
И с другой точки зрения, общая рыночная капитализация невозможна всегда намного ниже ВВП.
17,94% времени в 20–40, 50,7% времени в 40–70, 26,67% времени в 70–100, 4,69% времени в 100 или более.
Так что подумайте о том, что gemp PE около 40 или около того «Оценка» высока и медвежья, обречённая не наслаждаться бычьим рынком GEM 2015 года
GEM>small board>shenzhen>S & P>SSE?Может быть, нужно немного воображения, стиль также конвертируемый?
Ну, средний PE S & P также превысил 120, что всё ещё немного ниже, чем у нашего большого GEM.
Теперь PE SSE на самом деле ниже, чем у S & P, так что? Валюта, макроэкономика и т. д.
Подходит для: количественных трейдеров, финансовых специалистов, людей, интересующихся экономическими данными, программистов, людей, любящих свободу и исследования
Fooltrader — хорошо структурированная модульная система, которую можно использовать на разных уровнях, а также расширять, преобразовывать или заменять модули внутри.
Иерархия использования один к одному соответствует модулям на схеме архитектуры. Вы можете остановиться на любом этапе, расширить или заменить его своей знакомой системой. Конечно, я всё ещё надеюсь, что вы пройдёте весь путь, потому что технический выбор каждого модуля здесь был тщательно продуман, и система активно развивается.
$ git clone https://github.com/foolcage/fooltrader.git
$ cd fooltrader
$ ./init_env.sh
Если вы видите:
Requirements installed.
env ok
Поздравляем! Теперь вы можете играть с Fooltrader!
$ source ve/bin/activate
$ ./ve/bin/ipython
In [1]: from fooltrader.datamanager import datamanager
#crawl stock meta data
In [2]: datamanager.crawl_stock_meta()
#crawl index data
In [3]: datamanager.crawl_index_quote()
#crawl stock kdata and tick data
In [4]: datamanager.crawl_stock_quote(start_code='002797',end_code='002798',crawl_tick=False)
#crawl finance data
In [5]: datamanager.crawl_finance_data(start_code='002797',end_code='002798')
Сбор данных и API находятся в разных модулях:
Spiders сосредоточены на сборе данных: скорость сбора, лучшая классификация данных, завершение данных, обработка запрета и т.д. Дизайн API зависит только от контракта данных, который имеет лучшую скорость и гибкость.
Также вы можете загрузить упакованные исторические данныеdata.zip. Вам нужно только собрать дополнительные данные:
$ ./sched_finance.sh
$ ./sched_quote.sh
Скрипт периодически извлекает «отсутствующие» данные. После проверки целостности исторических данных он просто фактически извлекает данные дня, так что у нас есть полный источник данных для автоматизированного самостоятельного обслуживания. Запланированные задачи можно настроить в файле sched_quote.py: Вы можете установить:
@sched.scheduled_job('cron', hour=17, minute=00)
def scheduled_job1():
crawl_stock_quote('000001', '002999')
crawl_index_quote()
@sched.scheduled_job('cron', hour=17, minute=20)
def scheduled_job2():
crawl_stock_quote('300000', '300999')
@sched.scheduled_job('cron', hour=17, minute=40)
def scheduled_job3():
crawl_stock_quote('600000', '666666')
Наконец, как использовать собранные данные? Пожалуйста, обратитесь к контракту данных. Здесь вы можете использовать свою знакомую систему для анализа данных, например, MySQL, Superset, Redash, Hadoop. Просто следуйте контракту данных и напишите коннектор, и я надеюсь, вы сможете связаться со мной.
Просто измените хранилище данных, и в системе произойдут невероятные изменения.
Следуйте официальным документам: https://www.elastic.co/guide/en/elastic-stack/current/installing-elastic-stack.html или:
$ wget https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-6.1.1.zip
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.1.zip
$ unzip elasticsearch-6.1.1.zip
$ cd elasticsearch-6.1.1/
$ bin/elasticsearch-plugin install file:///path/to/file/x-pack-6.1.1.zip
$ cp ../fooltrader/config/elasticsearch.yml config/
$ ES_JAVA_OPTS="-Xms8g -Xmx8g" ./bin/elasticsearch
$
$ wget https://artifacts.elastic.co/downloads/kibana/kibana-6.1.1-linux-x86_64.tar.gz
$ tar -xzf kibana-6.1.1-linux-x86_64.tar.gz
$ cd kibana-6.1.1-linux-x86_64/
$ bin/kibana-plugin install file:///path/to/file/x-pack-6.1.1.zip
$ cp
**Примечание:** В запросе не было обнаружено кода на каком-либо языке программирования, гиперссылок, специальных тегов форматирования в markdown, html, yaml, json, plantuml и других.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )