Type/to search
3
Follow
28
Followers
Путь криптовалюты и количественного инвестирования студентов, родившихся в 1998 году
Original
Created 2020-03-07 18:11:51  Updated 2024-12-12 20:54:50
 11
 9032

img

Путь криптовалюты и количественного инвестирования студентов, родившихся в 1998 году

1. Войдите в мир криптовалют

Я родился в 1998 году и в настоящее время являюсь студентом старших курсов по информатике в бакалавриате 985. Я продолжу обучение в аспирантуре в той же школе.

Впервые я соприкоснулся с миром криптовалют 1 сентября 2017 года. Да, я помню эту дату очень хорошо, потому что три дня спустя произошел инцидент «94», который потряс мир криптовалют. Центральный банк и пять других министерств совместно выпустили документ для предотвращения рисков ICO цена криптовалюты была снижена вдвое.

1 сентября я увидел видео, представляющее Bitcoin в публичном аккаунте WeChat (я думаю, это было видео Ван Цзыру). Мне было очень любопытно узнать об этом, поэтому я скачал Huobi и пополнил его на 100 юаней. Я увидел цену Bitcoin , что было более 30 000 RMB, что напугало меня, поэтому я купил немного LTC. В то время, казалось, что это было около 120 RMB за LTC. Я провел всю ночь, наблюдая за колебаниями нескольких центов и одного юаня на моем счете, и рост цены LTC. Посмотрите, как люди общаются в нескольких группах криптовалюты QQ. После просмотра всей ночи мои друзья в группе все говорили, что цена вырастет, но я чувствовал, что это недостаточно захватывающе, поэтому я пополнил счет на несколько тысяч юаней. В то время Huobi все еще использовал пополнение банковской карты. После долгое время деньги не поступали на мой счет, поэтому я запаниковал. Я попросил помощи у друзей в группе и позвонил в службу поддержки клиентов. Через некоторое время деньги наконец поступили на мой счет, и тогда я купил все LTC снова.

4 сентября, как только центральный банк выпустил документ, цена валюты резко упала. Я был так напуган, что быстро продал свои убытки и ушел с рынка. Затем я наблюдал, как цена валюты медленно падала вдвое. В то время , внутренние биржи, такие как Huobi, не могут быть зарегистрированы. Внутренние и иностранные биржи Разница в цене огромная, что обогатило группу людей, занимающихся перемещением кирпичей.

Позже я забрал деньги и вернулся в школу, и не спешил покупать на дне (новые инвесторы умеют только гоняться за растущими ценами и продавать по падающим), но я все еще обращал внимание на тенденции в криптовалютном круге и время от времени проверил, о чем говорили люди в нескольких группах QQ. Это был декабрь, самый сумасшедший месяц бычьего рынка. TRON на Binance вырос в сотни раз, а другие валюты также удвоились. Любой рост ниже 50% не считался колебанием. Я соблазнился и перезарядился. Несколько тысяч долларов, и затем всевозможные странные операции по погоне за взлетами и падениями, наблюдение за ростом различных валют, но без какой-либо прибыли.

В январе 2018 года бурно развивающийся бычий рынок подошел к концу. Я зарегистрировал OKCoin и начал играть с контрактами. Должен сказать, это было действительно захватывающе. Кредитное плечо 20x, удвоение, ликвидация и т. д. Я уставился на линию K и не спал всю ночь.

Как и почти все игроки по контракту, я оказался в положении банкрота. Но должен сказать, что этот опыт дал мне много финансовых знаний. Раньше я даже не мог узнать K-line.

2. Количественный

После многих бессонных ночей, проведенных за наблюдением за рынком, будучи студентом-компьютерщиком, я начал задаваться вопросом, есть ли способ позволить программе торговать за меня, чтобы я мог спать спокойно.

На самом деле я нашел fmz (тогда он назывался botvs), но тогда я был слишком новичком и за долгое время не смог разобраться, как пользоваться этой платформой, поэтому сдался.

Позже я начал писать роботов, подключаясь к API OK (github: https://github.com/ccyanxyz/okex), и написал несколько стратегий, таких как двойные скользящие средние и сетки. Хотя я не заработал много денег, Я также прикоснулся к количественному анализу, узнал о различных технических индикаторах и научился пользоваться библиотекой Талиба. Позже, из-за большого количества школьных заданий, я перестал это делать, робот остановился и вернулся в режим ручного просмотра и управления, но частота была очень низкой, и я делал только одну-две операции время от времени.

3. Используйте ФМЗ

Походив по кругу, я наконец вернулся к fmz, но поскольку у меня уже был опыт написания собственных стратегий, на этот раз я смог очень быстро приступить к fmz. Я обнаружил, что fmz подключен почти ко всем основным биржам и унифицирует операции транзакций, счетов и т. д. Он удобен и прост в использовании. Вы можете написать код и запустить его везде. Для того, кто потратил много усилия по ручной упаковке обмена. Для людей, использующих API, это как найти спасителя.

Я нашел репозиторий публичной стратегии fmz на GitHub (https://github.com/fmzquant/strategies). Это было похоже на поиск сокровища. Я провел ночь или две, просматривая все стратегии, копировал их и тестировал на бэктесте. Я прочитал логику стратегии и пытался ее улучшить, но должен сказать, что я еще слишком зеленый. Прочитав все стратегии, я все еще не написал «машинку для печатания денег».

Позже я успокоился и хорошенько обдумал это. Текущий криптовалютный круг — это уже не тот криптовалютный круг 2017 года. Не будет никаких мифических историй о 2000 юаней — 20 миллионов юаней. Для бедного студента вроде меня это уже слишком сложно разбогатеть, спекулируя криптовалютой. Это была фантазия, поэтому я перестал следить за ценой валюты и гоняться за ее ростом и падением, а также отказался от нереалистичной идеи попытаться написать «машинку для печатания денег» стратегия, и начал размещать рекламу в зоне краудсорсинга на FMZ. Принимайте заказы и помогайте людям писать стратегии, и зарабатывайте честно с трудом заработанные деньги.

До сих пор я написал много стратегий для других. Процесс на самом деле довольно извилистый. Люди часто приходят ко мне с какими-то незрелыми идеями или стратегиями, которые вообще не могут принести денег. Многие люди также не могут четко описать свои потребности и в конце концов делают После Проверяя стратегию снова и снова, я обнаружил, что она не приносит прибыли, и мне пришлось спорить с другими, поэтому я изменил свою рекламу на приведенную ниже, установил правила и стандарты приема заказов и меньше беспокоился.

Изначально частота моих заказов становилась все ниже и ниже, потому что у меня было много школьных дел, и я многим отказал. Но в феврале fcoin сбежал и забрал большую часть моих активов (но у меня их было не так уж много) деньги). Поэтому недавно мне пришлось начать принимать заказы от всех и зарабатывать деньги.

Моя библиотека стратегий:

Сегодня, когда я просматривал fmz, я нашел что-то немного безмолвное. Некая "компания", которая принимала заказы, даже сплагиатила мою рекламу приема заказов. Ниже приведена его реклама:

Поэтому я изменил свою «знакомость» на «умение», а затем снизил начальную цену (я почуял намек на жестокую конкуренцию).

Почему я не сказал, что я «владею» FMZ? Не знаю, слышали ли вы шутку «Никто не может быть специалистом в C++», хахаха, поэтому я привык писать «знакомый» в мое резюме и другие сведения о связанных навыках.

4. Идея арбитража

Недавно я изучал некоторые стратегии арбитража, включая спотовое хеджирование, фьючерсно-спотовый арбитраж, кросс-периодный арбитраж, треугольный арбитраж и т. д. За эти два дня я увидел арбитражную идею, которую никогда раньше не видел (может быть, я невежественен), поэтому Я хотел бы поделиться этим здесь.

Предположим, что на валютном рынке имеется несколько торговых пар со следующими ценами:

USDollar/BritishPound 0.5 BritishPound/FrenchFranc 10.0 FrenchFranc/USDollar 0.21

В этом случае, игнорируя комиссию за транзакцию, если у меня изначально есть 1 USD, я могу сначала конвертировать его в британский фунт, затем во французский франк, а затем в USD. В процессе 1 USD становится 1x0.5x10.0x0.21= 1,05 долл. США, прибыль 0,05 долл. США.

В приведенном выше примере есть возможность арбитража, а в следующем — нет:

USDollar/BritishPound 0.5 USDollar/FrenchFranc 4.9 BritishPound/FrenchFranc 10.0 BritishPound/USDollar 1.99 FrenchFranc/BritishPound 0.09 FrenchFranc/USDollar 0.19

Как же определить, существуют ли возможности для арбитража на таком огромном рынке?

Эту проблему можно абстрагировать в задачу поиска кратчайшего пути в ориентированном графе. Каждая валюта используется как вершина, а обменная цена используется как вес ребра для формирования ориентированного графа. Затем, начиная с вершины (например, USD), найдите круговой путь, на котором можно совершать арбитражные сделки.

Приведенный выше пример взят из задачи OJ (http://poj.org/problem?id=2240), а решение можно найти здесь: http://hehejun.blogspot.com/2018/10/poj2240- арбитраж. html-файл.

Поэтому я недавно задумался, смогу ли я придумать стратегию для захвата арбитражных возможностей и проведения арбитража. Я поискал на GitHub и обнаружил, что это уже реализовано: https://github.com/wardbradt/peregrine. Этот проект решает эту арбитражную проблему Проблема. Она абстрагируется в задачу поиска кратчайшего пути направленного графа с ребрами отрицательного веса. Решение задачи OJ, упомянутой выше, отличается. Кратчайший путь направленного графа с ребрами отрицательного веса использует алгоритм Беллмана-Форда. Те, кто заинтересованы могут изучить его. Исследование.

Я также сделал простую реализацию на fmz, ссылаясь на идеи решения проблемы OJ. Она еще не закончена и корректность не может быть гарантирована. Я размещаю ее здесь, чтобы стимулировать обсуждение:

javascript
var coins = { EMPTY: 0, }; var price = {}; function get_coins() { for(var i = 0; i < exchanges.length; ++i) { var base = _C(exchanges[i].GetCurrency); var quote = _C(exchanges[i].GetQuoteCurrency); var len = Object.keys(coins).length; if(!coins.hasOwnProperty(quote)) { coins[quote] = len; len += 1; } if(!coins.hasOwnProperty(base)) { coins[base] = len; len += 1; } } } function get_graph() { var graph = []; for(var i = 0; i < exchanges.length; ++i) { var ticker = _C(exchanges[i].GetTicker); var base = _C(exchanges[i].GetCurrency); var quote = _C(exchanges[i].GetQuoteCurrency); graph.push({ from: coins[base], to: coins[quote], weight: ticker.Buy }); price[base + quote] = ticker.Buy; graph.push({ from: coins[quote], to: coins[base], weight: 1 / ticker.Sell }); price[quote + base] = 1 / ticker.Sell; } return graph; } function bfm(graph, initAmount, feeRate) { var dist = []; var pre = []; var i; var j; var fee = 0; for(i = 0; i < Object.keys(coins).length; ++i) { dist.push(0); pre.push(-1); } dist[1] = initAmount; for(i = 0; i < Object.keys(coins).length - 1; ++i) { for(j = 0; j < graph.length; ++j) { var from = graph[j].from; var to = graph[j].to; var rate = graph[j].weight; if(dist[from] * rate > dist[to]) { dist[to] = dist[from] * rate; pre[to] = from; } } } if(dist[1] <= initAmount) { return false; } var path = []; var top = pre[1]; var coin_keys = Object.keys(coins); path.push({ from: coin_keys[top], to: coin_keys[1], rate: price[coin_keys[top] + coin_keys[1]] }); while(top != 1) { var temp = top; top = pre[top]; path.push({ from: coin_keys[top], to: coin_keys[temp], rate: price[coin_keys[top] + coin_keys[temp]], }); } path.reverse(); fee = path.length * feeRate * initAmount; if(dist[1] - initAmount <= fee || path.length == 0) { return false; } return path; } function onTick() { var graph = get_graph(); var account = _C(exchanges[0].GetAccount); var balance = account.Balance; var path = bfm(graph, balance, 0); if(!path) { return; } Log(path); // buy & sell follow the path ... } function main() { get_coins(); while(1) { onTick(); } }

5. Резюме

Подводя итог, fmz — хорошая платформа, простая в использовании и надежная, которая спокойно зарабатывает состояние. Надеюсь, fmz будет становиться все лучше и лучше. Что касается меня, то я продолжу учиться на магистра после окончания университета (также в блокчейне) поле), а затем продолжить работу над fmz. Заработать немного карманных денег.

(Написано днем ​​7 марта 2020 года. Я только что закончил писать стратегию для кого-то и увидел, что мой баланс FMZ недостаточен, поэтому я пришел сюда, чтобы схитрить с роялти, хахаха)

WeChat: C790266922

Related Recommendations
Comment
All comments (10)

    微信号错了,怎么联系呢?

    5 years ago

    微信号错误

    5 years ago

    谢谢分享。策略仓库的github链接,很有帮助!

    5 years ago

    楼主好,有幸看到你,我才刚发布一个策略需求。。。。
    现在楼主还接单不

    6 years ago

    满满的干货分享,赞!

    6 years ago

    感谢分享

    6 years ago

    可以借鉴在币圈用,但是外汇套利在国际金融里是本科生的作业,可见已经没有套利的可能。

    6 years ago

    干货满满,感谢分享, 通过量化来学习金融知识,是投入最少,收获最大的一条 Geek 之路.

    6 years ago

    嗯嗯,共勉

    6 years ago

    幸苦幸苦。

    6 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)