ประกาศ:ความท้าทายนี้ปิดแล้ว: ฉันจะไม่อัปเดตกระดานผู้นำอีกต่อไปและจะไม่เปลี่ยนคำตอบที่ยอมรับได้ อย่างไรก็ตามคุณมีอิสระในการใช้งานคอนโทรลเลอร์และอัปเดตกระดานผู้นำด้วยตัวเองหากคุณต้องการ
เข้าร่วมการแชท!
บทนำ
สวัสดีตอนเย็นเทรดเดอร์! คุณเป็นเทรดเดอร์ทั้งหมดสำหรับ บริษัท กอล์ฟ PPCG งานของคุณคือทำเงินให้ได้มากที่สุด
ท้าทาย
เขียนโปรแกรมที่ซื้อและขายหุ้นในตลาดหลักทรัพย์ Exchange โดยมีจุดประสงค์เพื่อสร้างรายได้ให้มากที่สุด
เพลย์
ผู้เล่นทุกคนจะเริ่มต้นด้วย 5 หุ้นและ $ 100 ในธนาคารของพวกเขา เกมเริ่มต้นด้วยราคาหุ้น $ 10 เสมอ
แต่ละเกมจะมี 1000 1
รอบที่รอบแรกเป็นรอบ ในแต่ละรอบโปรแกรมของคุณจะให้ข้อโต้แย้งสี่ข้อเป็นอินพุท: ราคาหุ้นปัจจุบันจำนวนหุ้นที่คุณถือจำนวนเงินที่คุณเป็นเจ้าของและจำนวนรอบ (ดัชนี 1 รายการ)
ตัวอย่างเช่นหากโปรแกรมของฉันคือtest1.py
ราคาหุ้น100
จำนวนหุ้นที่ฉันถืออยู่คือ3
จำนวนเงินที่ฉันมี1200
และจำนวนรอบคือ576
โปรแกรมของฉันจะทำงานดังนี้:
python test1.py 100 3 1200 576
ในรอบราคาหุ้นที่ให้กับผู้เล่นแต่ละคนจะเท่ากัน สิ่งนี้จะไม่เปลี่ยนแปลงจนกว่าจะหมดรอบ
ในการตอบสนองผู้เล่นจะต้องพิมพ์คำสั่งของพวกเขา มีสองตัวเลือก:
- สิทธิการซื้อหุ้น: คำสั่งนี้จะได้รับเป็น
bn
ที่n
คือจำนวนหุ้นที่คุณต้องการที่จะซื้อ ตัวอย่างเช่นหากคุณต้องการซื้อ 100 หุ้นคุณจะได้ผลลัพธ์:
b100
เมื่อซื้อหุ้นคุณอนุญาตให้มีวงเงินเบิกเกินบัญชีสูงถึง $ 1,000 หากคุณพยายามที่จะซื้อหุ้นที่มากเกินกว่าเงินเบิกเกินบัญชีนี้ (ยอดเงินธนาคารของคุณต่ำกว่า $ -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
ในตอนท้ายมันจะพิมพ์กระดานแต้มนำและแสดงกราฟของการเปลี่ยนแปลงราคาหุ้นตลอดทั้งเกม
ตัวอย่างเช่นเมื่อบอทสุ่มสองตัวกำลังเล่นอยู่
การชนะ
ผู้เล่นที่มีจำนวนเงินสูงสุดในสมดุลเมื่อสิ้นสุดเกมที่แล้วชนะ
ลีดเดอร์บอร์ด
เกม 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
ที่เกี่ยวข้องแต่การเล่นเกมและเกณฑ์การชนะแตกต่างกันมากกับความท้าทายนี้