सूचना: यह चुनौती अब बंद हो गई है: मैं अब लीडरबोर्ड को अपडेट नहीं करूंगा और स्वीकार किए गए उत्तर को नहीं बदलूंगा। हालाँकि, यदि आप चाहें तो आप नियंत्रक को चलाने और लीडरबोर्ड को अपडेट करने के लिए स्वतंत्र हैं।
चैट में शामिल हों!
परिचय
शुभ संध्या, व्यापारियों! आप गोल्फ कंपनी पीपीसीजी के लिए सभी व्यापारी हैं। आपका काम जितना संभव हो उतना पैसा बनाना है।
चुनौती
एक प्रोग्राम लिखें जो स्टैक एक्सचेंज स्टॉक एक्सचेंज पर शेयरों को खरीदता है और जितना संभव हो उतना पैसा बनाने के उद्देश्य से बेचता है।
खेल खेलते हैं
सभी खिलाड़ी अपने बैंक में 5 शेयरों और $ 100 के साथ शुरुआत करेंगे। खेल हमेशा $ 10 के शेयर मूल्य के साथ शुरू होता है।
प्रत्येक खेल में 1000 राउंड होंगे जहां पहला राउंड गोल है 1
। प्रत्येक दौर में, आपके कार्यक्रम को इनपुट के रूप में चार तर्क दिए जाएंगे: वर्तमान शेयर मूल्य, आपके द्वारा धारण किए गए शेयरों की संख्या, आपके स्वयं के धन की राशि और गोल संख्या (1-अनुक्रमित)।
उदाहरण के लिए, यदि मेरा कार्यक्रम है test1.py
, तो शेयर की कीमत है 100
, मेरे द्वारा धारण किए गए शेयरों की संख्या , मेरे पास कितना 3
पैसा है 1200
और गोल संख्या है 576
, मेरा कार्यक्रम इस तरह चलाया जाएगा:
python test1.py 100 3 1200 576
एक दौर में, प्रत्येक खिलाड़ी को दिया जाने वाला शेयर मूल्य समान होगा। यह दौर के अंत तक नहीं बदलता है।
जवाब में, खिलाड़ी को अपनी कमांड प्रिंट करनी होगी। दो विकल्प हैं:
- शेयर खरीदें: यह कमांड दी गई है कि आपके द्वारा खरीदे जाने वाले शेयरों की संख्या
bn
कहांn
है। उदाहरण के लिए, यदि आप 100 शेयर खरीदना चाहते हैं, तो आप आउटपुट देंगे:
b100
शेयर खरीदते समय, आपको $ 1000 तक के ओवरड्राफ्ट की अनुमति दी जाती है। यदि आप इस ओवरड्राफ्ट से अधिक के शेयर खरीदने की कोशिश करते हैं (आपका बैंक बैलेंस $ -1000 से नीचे चला जाता है), तो आपको दिवालिया घोषित कर दिया जाएगा। इसका मतलब है कि आप अपने सभी शेयरों को खो देंगे और आपका शेष $ 50 पर सेट हो जाएगा।
यदि आप दिवालिया हो जाते हैं तो शेयर की कीमत आपके आदेश से अप्रभावित रहेगी।
(यदि आपका शेष राशि $ -1000 है, तो आप दिवालिया नहीं हैं। हालाँकि यदि आपका शेष $ -1001 है, तो आप दिवालिया हैं)
- शेयर बेचें: यह आदेश दिया गया है कि आपके द्वारा बेचने की इच्छा रखने वाले शेयरों की संख्या
sn
कहांn
है। उदाहरण के लिए, यदि आप 100 शेयर बेचना चाहते हैं, तो आप आउटपुट देंगे:
s100
हो सकता है कि आप खुद से ज्यादा शेयर न बेचते हों। यदि आप ऐसा करने की कोशिश करते हैं, तो आपके अनुरोध को अस्वीकार कर दिया जाएगा, और आप दौर को छोड़ देंगे।
यदि आप राउंड को छोड़ना और कुछ भी नहीं करना चाहते हैं, तो आउटपुट b0
या s0
।
यदि आप शेयरों की एक नकारात्मक संख्या और / या शेयरों की एक गैर-पूर्णांक संख्या खरीदने या बेचने की कोशिश करते हैं तो आपके अनुरोध को अस्वीकार कर दिया जाएगा।
5 राउंड के बाद, प्रत्येक राउंड के अंत में, सभी खिलाड़ियों को एक लाभांश का भुगतान किया जाएगा, जिसका मूल्य पिछले 5 राउंड के औसत औसत शेयर मूल्य का 5% है।
यह कैसे काम करता है?
शुरुआत में शेयर की कीमत 10 डॉलर होगी। प्रत्येक दौर के अंत में, सूत्र का उपयोग करके इसे पुनर्गणना किया जाएगा:
शेयर की कीमत सीमित होगी ताकि यह कभी भी $ 1 से कम न हो।
अत्यधिक तेजी से परिवर्तन को रोकने के लिए, शेयर की कीमत में बदलाव अधिकतम तक सीमित है ।
नियम
- आपके प्रोग्राम का एक नाम होना चाहिए
- आपके प्रोग्राम को डेटा संग्रहण के लिए एक एकल पाठ फ़ाइल की अनुमति है। इसे आपके प्रोग्राम के समान फ़ोल्डर में संग्रहीत किया जाना चाहिए
- अपने उत्तर विवरण में शामिल करें कि आपका कार्यक्रम कैसे चलाना है
- यह KotH उन सभी प्रोग्रामिंग भाषाओं के लिए खुला है जो फ्री-टू-यूज़ हैं और विंडोज 10 पर चलाई जा सकती हैं
- आपका स्कोर पूरी तरह से आपके बैलेंस की सामग्री पर आधारित है। शेयरों में बंद किसी भी पैसे को नहीं गिना जाएगा
- आप किसी भी समय अपने कार्यक्रम को संपादित कर सकते हैं। प्रत्येक गेम से पहले, नवीनतम कोड सहेजा और संकलित किया जाएगा
- आपको कोड नहीं लिखना चाहिए जो विशेष रूप से दूसरे बॉट को लक्षित करता है।
नियंत्रक
नियंत्रक पायथन में लिखा गया है और यहां पाया जा सकता है: 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
प्रत्येक प्रतियोगी के रेखांकन देखें
संबंधित लेकिन गेमप्ले और जीतने की कसौटी इस चुनौती से बहुत अलग हैं।