注意:このチャレンジは終了しました:私はリーダーボードを更新しなくなり、受け入れられた回答を変更しません。ただし、必要に応じて、コントローラーを自由に実行し、リーダーボードを自分で更新できます。
チャットに参加してください!
前書き
こんばんは、トレーダー!あなたはすべてゴルフ会社PPCGのトレーダーです。あなたの仕事は、できるだけ多くのお金を稼ぐことです。
チャレンジ
できるだけ多くのお金を稼ぐことを目的として、Stack Exchange Stock Exchangeで株式を売買するプログラムを作成します。
ゲームプレイ
すべてのプレイヤーは、自分の銀行で5株と100ドルで始めます。ゲームは常に10ドルの株価で始まります。
各ゲームには1000ラウンドがあり、最初のラウンドはラウンド1
です。各ラウンドでは、プログラムに入力として4つの引数が提供されます。現在の株価、所有する株式数、所有する金額、およびラウンド番号(1から始まる)。
たとえば、私のプログラムがtest1.py
、株価が100
、保有株式数が、保有3
金額が1200
、ラウンド数がの576
場合、私のプログラムは次のように実行されます。
python test1.py 100 3 1200 576
ラウンドでは、各プレイヤーに与えられる株価は同じになります。これはラウンドの終わりまで変わりません。
応答として、プレーヤーはコマンドを印刷する必要があります。次の2つのオプションがあります。
- 購入共有:このコマンドは次のように与えられている
bn
場所n
あなたが購入したい株式数です。たとえば、100株を購入する場合、次のように出力します。
b100
株式を購入する場合、最大1000ドルの当座借越が許可されます。この当座借越を超える十分な株式を購入しようとすると(銀行の残高が$ -1000を下回ります)、破産と宣言されます。これは、すべての株式を失い、残高が50ドルに設定されることを意味します。
破産しても株価は指揮の影響を受けません。
(残高が$ -1000であれば、破産していません。ただし、残高が$ -1001であれば、破産しています)
- 売る株式:このコマンドは次のように与えられている
sn
場所n
あなたが販売することを希望する株式数です。たとえば、100株を販売する場合、次のように出力します。
s100
所有する株式よりも多くの株式を売却することはできません。これを行おうとすると、リクエストは拒否され、ラウンドはスキップされます。
ラウンドをスキップして何もしない場合は、b0
またはのいずれかを出力しますs0
。
負の数の株式や整数以外の数の株式を売買しようとすると、リクエストは拒否されます。
5ラウンド後、各ラウンドの終わりに、すべてのプレーヤーに配当が支払われます。その価値は、最後の5ラウンドの平均株価の5%です。
どのように機能しますか?
当初の株価は10ドルです。各ラウンドの終わりに、式を使用して再計算されます:
株価は、1ドルを下回らないように制限されます。
急激な変化を防ぐため、株価の変更は最大制限されています。
ルール
- プログラムには名前が必要です
- プログラムには、データストレージ用の単一のテキストファイルが許可されています。プログラムと同じフォルダーに保存する必要があります
- プログラムの実行方法の詳細を回答に含めてください
- このKotHは、無料で使用でき、Windows 10で実行できるすべてのプログラミング言語に対応しています。
- スコアは、残高の内容のみに基づいています。株式に閉じ込められたお金はカウントされません
- プログラムはいつでも編集できます。各ゲームの前に、最新のコードが保存され、コンパイルされます
- 特に別のボットを標的とするコードを書くべきではありません。
コントローラ
コントローラーはPythonで書かれており、こちらにあります:https : //gist.github.com/beta-decay/a6abe40fc9f4ff6cac443395377ec31f
最後に、リーダーボードを印刷し、ゲーム全体で株価がどのように変化したかのグラフを表示します。
たとえば、2つのランダムボットが遊んでいたとき
勝ち
最後のゲームの終了時に残高が最も高いプレイヤーが勝ちます。
リーダーボード
ゲーム4:16:14 10/08/2018
Name Balance
Experienced Greedy Idiot $14802860126910608746226775271608441476740220190868405578697473058787503167301288688412912141064764060957801420415934984247914753474481204843420999117641289792179203440895025689047561483400211597324662824868794009792985857917296068788434607950379253177065699908166901854516163240207641611196996217004494096517064741782361827125867827455285639964058498121173062045074772914323311612234964464095317202678432969866099864014974786854889944224928268964434751475446606732939913688961295787813863551384458839364617299883106342420461998689419913505735314365685264187374513996061826694192786379011458348988554845036604940421113739997490412464158065355335378462589602228039730
Equalizer $763185511031294813246284506179317396432985772155750823910419030867990447973211564091988995290789610193513321528772412563772470011147066425321453744308521967943712734185479563642323459564466177543928912648398244481744861744565800383179966018254551412512770699653538211331184147038781605464336206279313836606330
Percentage Trader $448397954167281544772103458977846133762031629256561243713673243996259286459758487106045850187688160858986472490834559645508673466589151486119551222357206708156491069820990603783876340193236064700332082781080188011584263709364962735827741094223755467455209136453381715027369221484319039100339776026752813930
OYAIB $8935960891618546760585096898089377896156886097652629690033599419878768424984255852521421137695754769495085398921618469764914237729576710889307470954692315601571866328742408488796145771039574397444873926883379666840494456194839899502761180282430561362538663182006432392949099112239702124912922930
Chimps on a Typewriter $176504338999287847159247017725770908273849738720252130115528568718490320252556133502528055177870
Greedy B*****d $17689013777381240
Illiterate Dividend Investor $2367418699671980
Lucky Number 6 $4382725536910
Lone Accountant $90954970320
Buy/Reinvest $127330
Technical Analysis Robot $126930
Dollar Cost Averager $106130
Fibonacci $69930
Novice Broker $28130
Buy Low $6130
Naive Statistician $6130
Fallacious Gambler $6130
Passive Trader $4980
Half More or Nothing $4920
Monkeys on a Typewriter $66
関連していますが、ゲームプレイと勝利基準はこの課題とは非常に異なります。