C ++ ใน การซื้อขาย ระบบ


BarsMonster: ฉันสามารถมองเห็นได้ว่าสำหรับสิ่งต่างๆเช่นสแต็คระบบเครือข่ายซึ่งขึ้นอยู่กับแพลตฟอร์มอย่างสมบูรณ์จะต้องมีความรู้บางอย่างก่อนที่จะสามารถเปลี่ยนแพลตฟอร์มได้ สิ่งต่างๆเช่นส้อมซึ่งเป็นสิ่งที่พบได้ทั่วไปในโลก POSIX แต่ไม่สามารถทำได้ในสภาพแวดล้อมของ Windows ฉันคิดว่ามันเป็นคำตอบที่สมเหตุสมผล ndash Billy ONeal Aug 29 10 at 0:55 LinuxUNIX มีประโยชน์มากขึ้นสำหรับผู้ใช้ระยะไกลพร้อมกันทำให้สคริปต์ได้ง่ายขึ้นในระบบใช้เครื่องมือมาตรฐานเช่น grepsedawkperlrubyless ในบันทึก sshscp ทั้งหมดที่ stuffs เพียงมี นอกจากนี้ยังมีปัญหาด้านเทคนิคเช่น: การวัดเวลาที่ผ่านไปใน Windows คุณสามารถเลือกระหว่างชุดของฟังก์ชันที่ขึ้นอยู่กับการติ๊กนาฬิกาของ Windows และ QueryPerformanceCounter ที่ใช้ฮาร์ดแวร์ () ค่าเดิมจะเพิ่มขึ้นทีละ 10 ถึง 16 มิลลิวินาที (หมายเหตุ: เอกสารบางอย่างมีความแม่นยำมากขึ้นเช่นค่าจาก GetSystemTimeAsFileTime () จะวัดเป็น 100ns แต่จะรายงานถึงขอบ 100ns ของนาฬิกาจนกว่าจะมีการติ๊กอีกครั้ง) QueryPerformanceCounter () - มีปัญหาในการหยุดการแสดงผลซึ่ง corescpus ต่างๆสามารถรายงานนาฬิกานับตั้งแต่เริ่มต้นใช้งานซึ่งแตกต่างกันไปโดยใช้เวลาหลายวินาทีเนื่องจากความร้อนในช่วงเวลาต่างๆระหว่างการบูตระบบ MSDN เอกสารนี้เป็นข้อผิดพลาด BIOS ที่เป็นไปได้ แต่ทั่วไป ดังนั้นผู้ที่ต้องการพัฒนาระบบการซื้อขายแบบแฝงต่ำบนแพลตฟอร์มที่ไม่สามารถใช้งานได้อย่างถูกต้อง (มีโซลูชัน แต่คุณไม่พบซอฟต์แวร์ที่ใช้งานได้สะดวกในการเพิ่มหรือ ACE) ตัวแปร LinuxUNIX หลายตัวแปรมีตัวแปรปรับแต่งได้ง่ายเพื่อลดเวลาแฝงสำหรับเหตุการณ์เดียวกับเวลาแฝงเฉลี่ยภายใต้โหลดขนาดของชิ้นเวลานโยบายการกำหนดเวลา ฯลฯ ในโอเพ่นซอร์สระบบปฏิบัติการ theres ยังมั่นใจว่ามาพร้อมกับความสามารถในการอ้างถึง รหัสเมื่อคุณคิดว่าสิ่งที่ควรจะเร็วกว่าที่เป็นอยู่และความรู้ที่ชุมชน (ใหญ่มาก) ของผู้คนได้รับและกำลังทำอย่างสุดความ - กับ Windows ส่วนใหญ่จะเป็นคนโสเภณีที่ได้รับมอบหมายให้มองไปที่มัน แต่ส่วนที่สำคัญของเหตุผลสำหรับการเลือกระบบปฏิบัติการ - ฉันคิดว่าโปรแกรมเมอร์ส่วนใหญ่ในอุตสาหกรรมจะให้ความไว้วางใจ LinuxUNIX เพื่อให้มีการตั้งเวลาและพฤติกรรมที่น่าเชื่อถือ นอกจากนี้ LinuxUNIX มีชื่อเสียงในเรื่อง crashing less แม้ว่า Windows จะเชื่อถือได้ในปัจจุบัน แต่ Linux มีฐานรหัสที่มีความผันผวนมากกว่า Solaris หรือ FreeBSD ตอบเมื่อวันที่ 29 สิงหาคมที่เวลา 00:42 ระบบปฏิบัติการ Windows ของไคลเอ็นต์อนุญาตให้บุคคลหนึ่งใช้ RDP ได้ครั้งละหนึ่งครั้งเท่านั้น อย่างไรก็ตามวินโดวส์เซิร์ฟเวอร์เทอร์มินัล (Server Terminal Server) มีอยู่ตลอดไป (ในความเป็นจริงการใช้งาน RDP เดิม) และช่วยให้สามารถเชื่อมต่อได้มากเท่าที่คุณมีสิทธิการเข้าถึงสิทธิการเข้าถึงไคลเอ็นต์ Windows Server OSs มาพร้อมกับความสามารถในการมีผู้ใช้ระยะไกลได้มากกว่าหนึ่งรายโดยค่าเริ่มต้น ถ้าคุณสามารถแหล่งความคิดเห็นเกี่ยวกับการตั้งเวลาแล้วฉันจะ 1 ที่นี่ - ส่วนหนึ่งของคำตอบที่ดูเหมือนจะเป็น FUD ที่จุดนี้กับฉัน (ส่วนที่เหลือของคำตอบคือดี) YMMV ndash Billy ONeal 29 สิงหาคมที่ผ่านมา 0 เวลา 0:50 ไม่มีการจัดตารางเวลาของ UNIXLinux เป็นหนึ่งในพื้นที่ที่การใช้งานต่างกัน และลินุกซ์ในความเป็นจริงมีตัวเลือกตารางเวลามากกว่าหนึ่งรายการ (Google Completely Fair Scheduler Linux สำหรับพื้นหลัง) ดังนั้นคุณจึงไม่สามารถบอกได้ว่าการจัดตารางเวลา quotLinux เป็นความน่าเชื่อถือ ndash MSalters Aug 30 10 at 11:37 ฉันที่สองความคิดเห็นของประวัติศาสตร์และการเข้าถึงการจัดการเคอร์เนล นอกเหนือจากเหตุผลที่ฉันยังเชื่อว่าเช่นเดียวกับวิธีการปิดการเก็บขยะและกลไกที่คล้ายกันใน Java เมื่อใช้เทคโนโลยีเหล่านี้ในบาง latency ต่ำ พวกเขาอาจหลีกเลี่ยง Windows เนื่องจาก APIs ในระดับสูงซึ่งโต้ตอบกับ os ระดับต่ำและเคอร์เนล ดังนั้นแกนหลักคือเคอร์เนลที่สามารถโต้ตอบกับการใช้ os ระดับต่ำได้ API ระดับสูงมีให้เพื่อทำให้ชีวิตของผู้ใช้ทั่วไปง่ายขึ้น แต่ในกรณีของ latency ต่ำนี้จะเปิดออกมาเป็นชั้นไขมันและเศษวินาทีการสูญเสียรอบการดำเนินงานแต่ละ ดังนั้นตัวเลือกที่ร่ำรวยในการดึงดูดเศษเสี้ยววินาทีไม่น้อยต่อการโทร นอกจากนี้สิ่งที่ต้องพิจารณาก็คือการผสานรวม เซิร์ฟเวอร์ส่วนใหญ่ศูนย์ข้อมูลการแลกเปลี่ยนใช้ UNIX ไม่ใช่ Windows ดังนั้นการใช้ลูกค้าในครอบครัวเดียวกันทำให้การผสานรวมและการสื่อสารทำได้ง่ายขึ้น แล้วคุณมีปัญหาด้านความปลอดภัย (หลายคนออกมีอาจจะไม่เห็นด้วยกับจุดนี้แม้ว่า hacking UNIX ไม่ง่ายเมื่อเทียบกับการแฮ็ค WINDOWS. ฉันไม่เห็นด้วยกับการอนุญาตให้ใช้สิทธิ์ต้องเป็นปัญหาสำหรับธนาคารเพราะพวกเขามีเงินในทุกชิ้นส่วนของฮาร์ดแวร์และซอฟต์แวร์และผู้ที่ปรับแต่งพวกเขาดังนั้นการซื้อใบอนุญาตจะไม่เป็นปัญหาใหญ่เมื่อพิจารณาสิ่งที่พวกเขาได้รับโดยการซื้อ ตอบ 201 21 Stack Exchange, Inc มีคำแนะนำบางอย่าง ค้นหา Amazon (หรือผู้ขายหนังสือที่คุณชื่นชอบ) สำหรับหนังสือเกี่ยวกับการเงินเชิงปริมาณของ C ฉันพบหลายชื่อที่ดูมีแนวโน้ม ฉันไป SourceForge (ค้นหาในระบบการซื้อขาย) และเห็นระบบที่มีแนวโน้มหลายอย่างที่อาจให้ขาขึ้นในการเบิก MAE ฯลฯ ฉันใช้ TradeStation 9.0 เพื่อเปรียบเทียบกลยุทธ์การซื้อขายต่างๆ จะให้กราฟ MAEMFE เส้นโค้งส่วนแบ่งการค้าและกลยุทธ์อันดับโดยพิจารณาจากการเบิกใช้สูงสุด แต่โปรดอ่านระบบการซื้อขายที่ทำงาน: การสร้างและการประเมินระบบการซื้อขายที่มีประสิทธิภาพโดย Thomas Stridsman สำหรับคำติชมที่ได้รับจากรายงานที่สร้างขึ้นโดย TradeStations ตอบโอ้โอ้โอ้อยากจะใช้งานฟังก์ชั่นที่จะใช้ในการพัฒนายุทธศาสตร์การค้ามากขึ้นแม้ว่าผมจะไม่สามารถอ้างอิงหลักฐานใด ๆ ในการสนับสนุนได้ แต่ผมค่อนข้างมั่นใจว่าเครื่องมือในการวิเคราะห์ทางเทคนิคจะถูกใช้ในการพัฒนา กลยุทธ์ดังกล่าว เป็นไปได้ว่า TAlib ถูกเขียนใน C หรือ C ดีฉันยืนแก้ไข. ndash babelproofreader Apr 3 11 at 14: 37Hard พูดสิ่งที่เกิดขึ้น สิ่งหนึ่งที่เกี่ยวกับ HFT คือความเร็วของภาษาแปลก ๆ ไม่สำคัญมากนัก คุณกำลังพูดถึงความยาว 20 มิลลิวินาทีและภาษาใด ๆ สามารถทำ 20 มิลลิวินาทีเนื่องจากเวลาของ CPU วัดได้ใน nano-seconds มากกว่า milisecond ในการค้าแบบอัลกอฮอร์โดยปกติแล้วจะมีปริมาณเพียงพอสำหรับการรับส่งข้อมูลเนื่องจากเคล็ดลับคือการได้รับสิทธิการใช้งานแบบ multithreading และ networking มากกว่าการใช้ความพยายามในการประมวลผล CPU ตั้งแต่ java เป็นภาษามาตรฐานของเครือข่ายธนาคารแล้วจะทำให้ความรู้สึกบางอย่างที่จะใช้ว่าถ้า thats สิ่งที่คุณมีอยู่แล้ว สิ่งอื่น ๆ ที่คุณต้องระมัดระวังเกี่ยวกับเป็น quotmarketingquot ไม่มีใครจ้าง quotprogrammersquot ในด้านการเงิน ทุกคนต้องการเป็น quotquant. quot สิ่งเดียวกันน่าจะเกิดขึ้นกับ HFT เนื่องจาก HFT มีความเซ็กซี่แล้วทุกงานจะเรียกว่า HFT C เป็นสิ่งที่จำเป็นถ้าคุณกำลังพูดถึงระบบอัลฟ่า แต่การซื้อขายส่วนใหญ่ไม่เกี่ยวข้องกับเรื่องนี้และมีการซื้อขายแบบอัลโก่ที่เกี่ยวข้องกับสิ่งที่ฉันไม่ต้องการให้พิจารณา HFT แต่อาจเป็นนายหน้าหรือคนที่โฆษณางานได้ 5.9k Views middot ดูคำ Upvotes middot ไม่ได้สำหรับการสืบพันธุ์ middot คำตอบที่ร้องขอโดย 1 คนคำตอบด้านล่าง คำถามที่เกี่ยวข้อง Java C เหมาะสำหรับการสร้างระบบ HFT ฉันสามารถเรียนรู้ C สำหรับ HFT เป็น JVM เหมาะกว่า C11 สำหรับเครื่องมือการซื้อขาย HFT ผลตอบแทนอะไรได้เร็วขึ้นทำไม C หรือ C เร็วกว่า Python สำหรับ HFT เป็น Java เหมาะสำหรับผู้ค้าเชิงปริมาณหรือ HFT คุณใช้แอสเซมบลีในรหัส C เท่าใดในการเพิ่มประสิทธิภาพ HFT TA สำคัญหรือ TA ในโลกของ HFT เพื่อนของฉันกล่าวว่า quotJava เป็นภาษาการเขียนโปรแกรมของ girl0 และ CC เป็นคำสั่งที่เป็นโทนและฉันรู้สึกผิดหวัง ฉันจะผ่านมันได้อย่างไรในฐานะหนึ่งในคำตอบที่ชี้ให้เห็นว่าระบบ HFT ส่วนใหญ่ไม่ค่อยมีการใช้งานในภาษาใดภาษาหนึ่ง แม้จะอยู่ในพื้นที่ HFT จะมีห้องเลื้อยขึ้นเล็กน้อยขึ้นอยู่กับว่าคุณกำลังวิ่งอยู่ ถ้าคุณกำลังพยายามทำดัชนี arbas วานิลลาที่ประสบความสำเร็จของคุณขึ้นอยู่กับการออก gunning การแข่งขันยิงเฉพาะของคุณที่ทำให้การทำงานใช้ FPGA หรือ ASIC หากคุณกำลังเล่นในช่วงย่อย 10 มิลลิวินาทีทำทุกอย่างใน C ช่วยได้มาก เหตุผลหลักของฉันในการเลือก C ล่วงหน้าของ Java คือความสามารถในการสร้างทำลายและรีเซ็ตอ็อบเจ็กต์เมื่อฉันต้องการ ความสะดวกที่ใหญ่ที่สุดของฉันกับ C คือความสามารถในการเรียก destructor วัตถุโดยไม่ต้อง deallocating หน่วยความจำวัตถุ ความสามารถในการใช้มาโครโดยตรง, คำสั่ง GCC (สำหรับสิ่งที่ต้องการทำนายสาขา) และในการประกอบสาย ความเป็นไปได้ในการเขียนโค้ดประจำตัวย่อยสำคัญของแฝงในแอพพลิเคชันและบูรณาการโดยตรงกับโค้ดจะไม่มีค่า การเรียกใช้ระบบปฏิบัติการแบบเดิม (หายาก) หน่วยความจำที่ใช้ร่วมกันได้อย่างราบรื่นและความสามารถในการปรับแต่งบางอย่างเช่นการสร้างอัลกอริทึมการรู้ NUMA การตรึงหัวข้อบางส่วนให้เป็นแกน DDIO เป็นต้นสิ่งเหล่านี้ช่วยให้โกนได้ทุกที่ตั้งแต่ 2 ถึง 10 ไมโครเมตรจากสแต็คการซื้อขายของคุณขึ้นอยู่กับสิ่งที่คุณต้องการ กลยุทธ์ความถี่สูงจำนวนมากทำงานในกรอบเวลา 20-30 microsecond ฉันคิดว่านี่เป็นที่ที่มีความหลากหลายในแง่ของการตั้งค่าเกิดขึ้น ระบบส่วนใหญ่ในช่วงเวลานี้ประกอบด้วยระบบการเชื่อมต่อและการจัดการคำสั่งที่เขียนขึ้นใน C และอินเทอร์เฟซสำหรับกลยุทธ์ที่ช่วยให้คุณเขียนกลยุทธ์ของคุณในสิ่งที่เป็นที่นิยมใน บริษัท ของคุณ I039ve C, Java, C, Scala, Python และแม้แต่ Haskell ใช้ที่นี่ ถนน Jane อ้างว่าใช้ บริษัท Ocaml. Large มีหลายทีมที่ค้าขายในช่วงเวลาที่ต่างกัน โครงสร้างพื้นฐานส่วนใหญ่มักจะถูกเขียนขึ้นสำหรับผู้ที่ต้องการเนื้อหาที่เร็วที่สุดและได้รับการแจกจ่ายให้กับผู้อื่น ร้านค้าส่วนใหญ่มักจะมีโซลูชันฮาร์ดแวร์และโซลูชันซอฟต์แวร์หนึ่งแห่ง Core Infra ไม่ค่อยได้รับการเขียนขึ้นใน Java อย่างไรก็ตามนักวิจัยด้านกลยุทธ์และนักวิจัยอาจใช้ข้อมูลดังกล่าวเป็นรูปธรรม 3.1k Views middot ดูคำ Upvotes middot ไม่ได้สำหรับการสืบพันธุ์ Jeff Meyerson วิศวกรซอฟต์แวร์ในอดีตที่ PEAK6 นี่เป็นเรื่องยากที่จะตอบได้เพราะในทางปฏิบัติผมเคยเห็นพวกเขาใช้เพื่อจุดประสงค์ในการแยกกัน คำตอบสำหรับคำถามนี้ขึ้นอยู่กับสิ่งที่คุณหมายถึงโดย HFT I039m จะถือว่าคุณหมายถึงการเรียงลำดับของร้านค้าที่ผู้ค้านั่งอยู่ที่เครื่องคอมพิวเตอร์และไฟออกธุรกิจการค้าขนาดใหญ่ที่มีการแบ่งออกเป็นชิ้นเล็กตามขั้นตอนวิธี เพื่อเปรียบเทียบความแตกต่างนี้ระบบการซื้อขายอัตโนมัติแบบเต็มรูปแบบส่วนใหญ่ยังคงเป็น C. เมื่อฉันทำงานให้กับ บริษัท การค้าฉันสร้างเครื่องมือของฉันใน Java แต่เครื่องมือเหล่านี้เชื่อมต่อกับเครื่องมือของภาษาอื่น ๆ สำหรับบางฟังก์ชันความเร็วเป็นสิ่งสำคัญยิ่ง หากคุณสามารถทนต่อแฝงตัวน้อยได้คุ้มค่ายิ่งกว่าที่จะมีรหัสที่สามารถเก็บรักษาได้มากขึ้นเพื่อให้สามารถอ่านออกจากวิทยาลัยได้ทันที Java เหมาะกับการเรียกเก็บเงินสำหรับทั้งสองแบบนี้ 3k Views middot ดูคำ Upvotes middot ไม่ได้สำหรับการสืบพันธุ์ middot คำตอบที่ร้องขอโดย 1 คน Lance Diduck สร้างระบบ C หลายสิบปีขึ้นไปกว่า 20 ปีระบบการซื้อขายอัตโนมัติจะใช้งานไม่ได้โดยใช้ภาษาเดียว quotHFTquot อาจหมายความว่า I039m เข้าและออกจากตำแหน่งหลายครั้งต่อวัน หลายระบบเหล่านี้เริ่มต้นเป็นแอพพลิเคชัน touchquot แบบ quothigh โดยปกติจะเป็น java หรือ C ซึ่งผู้ค้าจะนั่งที่นั่นและกดปุ่มเพื่อเริ่มต้นธุรกิจการค้า เพื่อลดต้นทุนการดำเนินงานเราจำเป็นต้องมีระบบแอบแฝงต่ำที่มีการกำหนดระดับที่ดีในเวลาตอบสนอง คุณไม่สามารถหยุดชั่วคราวสำหรับการกู้คืนตารางแฮชหรือตัวเก็บรวบรวมขยะหรือระบบปฏิบัติการที่นำชิ้นส่วนเวลาของคุณไปหรือย้ายคุณไปยังโปรเซสเซอร์อื่นหรือไม่ก็ได้ มีคนที่พยายามนี้ใน Java และใช้เวลาส่วนใหญ่ของพวกเขาพยายามทำให้งาน Java deterministically. โชคดี แต่เครื่องมือในการรายงานคอนโซลหน้าจอการตรวจสอบตรวจสอบว่าส่วนเหล่านี้อาจเป็นภาษาจาวาหรือ C หรือ JavaScript สำหรับเรื่องนี้ ส่วนตัวผมใช้ผสมของหลามและ C 3.2k มุมมอง middot ดู Upvotes middot ไม่ได้สำหรับการสืบพันธุ์ middot คำตอบที่ร้องขอโดย 1 คน

Comments

Popular Posts