こんにちは、分散型ライフのエンジです。
最近は人工知能やディープラーニングというAI関係のワードがホットですね。
プログラミング言語も時代の変遷と共に、どうしても流行り廃りというのが出てきてしまいます。機械学習のエンジニア、システム制御プログラミング、業務システム開発、Android・iOSアプリ開発など用途に応じて言語を使い分けていきます。
将来的にはAIが自身でコーディングするのではないかと囁かれています。(実は昔からそのように言われてきていますが、まだ人力で行っているのが現状です。)
求人検索エンジンのスタンバイが発表した「プログラミング言語別 平均年収ランキング」では下記のようになっています。
・1位 Python 651万円
・2位 Perl 633万円
・3位 Ruby 606万円
・4位 C言語 597万円
・・・
現在一番熱いプログラミング言語は「Python」のようですね。
しかしこれらはプログラミング言語を習得し、企業で経験を積んで、転職市場で評価される。もしくはフリーランスとして独立するというスキームにて語られる内容となります。
言語習得→就職だけが全てではありません。
もう少し視点を変えて、初心者がこれからはじめる非ITエンジニアでも稼げるプログラミング言語について着目してみましょう。
為替の自動売買
システムトレードって耳にしたことありませんか。
株や為替において、チャートパターンやテクニカル指標がある一定の枠に当てはまった時に売買し、ある条件下において決済するという自動売買システムです。
最近では高頻度取引(HFT)、すなわちミリ秒単位で売買を繰り返し、収益を上げるアルゴリズムトレードがウォール街にて競争が激化しています。
記憶に新しい、米国の大統領選挙時のドル円相場について知っていますでしょうか。
トランプ大統領就任後、ドル円は急激な円安ドル高相場に見舞われ、選挙前には1ドル101円前半で推移していたものの、12月には1ドル118円まで急伸しました。これは先のアルゴリズムトレードが要因であると言われています。
下記が当時のチャートとなります。
しかし、システムトレードの類は証券会社や銀行のトレーダーで行われている話であって、我々個人には無縁であろうと思うかもしれません。
ですが、個人でもシステムトレードを構築することが出来るのです。
何が言いたいのかというと、為替自動売買システムを構築するためのプログラミング言語を習得し、雇われることなく直接的にお金を稼いでもらおうということです。
自動売買システムの実際
FX(為替証拠金取引)の自動売買システムはEA(エキスパートアドバイザ)と呼ばれています。
まずは筆者が作成したEAの一例を紹介します。
上記の図は2012年~2017年3月における収益グラフとなります。
トランプ大統領選挙や英国のEU離脱などの大きなイベントが発生したにも関わらず、右肩上りで収益が伸びていることがわかりますでしょうか。
FXはロット数を上げればそれに比例して収益が伸びます。
ですので端的に言えば、毎年100円稼げるようなシステムでも良いです。
あとはロット数×100円でいくらでも稼げてしまいますよね。
1つの銘柄に資金を投下するように、1つのEAではリスクが高いと思うのであれば、下記のように複数EAを作成して収益の安定化を図れば尚良いです。
[関連] 複数のEAでポートフォリオを組んで収益の安定化を目指す
またEA自体の販売を行っている業者もありますし、昨今のFX業者ではシステムトレードのストラテジを用意しているところが多くなってきました。
しかし他人のプログラムはブラックボックスであり、どのような条件下でトレードしてるのかわかりません。いつか大きなドローダウンを喫するかもしれませんし。(たまに大暴落するEAやシステムが実際にあります)
筆者は自分のプログラムしか信用していませんので、大暴落が起きたとしてもそれを制御出来るようなコードを記述すれば安心してトレード出来ます。
ですので自分でEAを作成することに旨味があると思っています。
EAの作り方
「自動売買システムとか難しそう」と思うかもしれませんが、参考書も出回っていますのでそれを見ながらプログラミングすればそんなに難しくありません。
その根拠として、筆者は自動売買システム構築の後にAndroidアプリを製作していますが、アプリで用いるjavascriptの方が難しいと思っています。
[関連] 初心者がMonacaでAndroidアプリを開発してみた
Meta Trader4というツールを用いて、Meta Editorでプログラミングしていきます。もちろんコンパイルもここで出来ますし、過去の相場でどの程度収益を上げられるかテストすることが出来ます。このテストを過去相場と照らし合せることから、バックテストと呼ばれています。
自動売買プログラミングの始め方やEAの作り方、参考書は下記の記事で詳細を記述していますので参照してみて下さい。
しかし、先程紹介した証券会社や銀行によるシステムトレードには太刀打ち出来ないのでは?と思うかもしれません。
しかし、高頻度取引(HFT)のようなシステム構築は個人では難しいですが、何も高頻度=スキャルピング取引ではなくてトレンドに追従するデイトレードやスイングトレードのシステムを構築すれば個人でも分があります。
まとめ
初心者がこれからプログラミング言語を習得するにあたり、就職を目指すのであればPythonやRubyといった言語を習得すれば良いですが、稼いでくれるEAを作ってしまえばこっちのものです。まさに不労所得と成り得るでしょう。大袈裟ですが夢があると思いませんか?
プログラミング自体は無料で出来るので、ぜひ取り組んでみて下さい。
以上、「初心者が最も稼げるプログラミング言語は?」でした。