Thursday 20 July 2017

ชี้แจง เคลื่อนไหว เฉลี่ย หมีแพนด้า


ค่าเฉลี่ยเลขยกกำลังเลขที่ Exponential Moving Average ค่าเฉลี่ยการเคลื่อนที่แบบ Exponential แตกต่างจาก Average Moving Average โดยวิธีการคำนวณและในวิธีที่มีการถ่วงน้ำหนัก ค่าเฉลี่ยการเคลื่อนที่แบบ Exponential (ย่อมาจาก EMA เริ่มต้น) มีค่าเฉลี่ยถ่วงน้ำหนักที่ถ่วงน้ำหนัก กับ EMA การถ่วงน้ำหนักเป็นเช่นที่ราคาล่าสุดวันจะได้รับน้ำหนักมากขึ้นกว่าราคาที่เก่ากว่า ทฤษฎีที่อยู่เบื้องหลังนี้ก็คือราคาล่าสุดถือว่ามีความสำคัญมากกว่าราคาที่สูงกว่าโดยเฉพาะอย่างยิ่งเมื่อค่าเฉลี่ยระยะยาว (เช่น 200 วัน) มีน้ำหนักเท่ากับข้อมูลราคาที่มีอายุเกิน 6 เดือนและอาจคิดได้ ของเล็กน้อยล้าสมัย การคำนวณ EMA เล็กน้อยซับซ้อนกว่าค่าเฉลี่ย Simple Moving Average แต่มีข้อดีที่ไม่ควรเก็บบันทึกข้อมูลขนาดใหญ่ที่ครอบคลุมราคาปิดของทุกๆราคาปิดในช่วง 200 วันที่ผ่านมา (หรือหลายวันก็ตาม) . สิ่งที่คุณต้องมีคือ EMA สำหรับวันก่อนหน้าและราคาปิดในปัจจุบันเพื่อคำนวณค่าเฉลี่ยใหม่ที่มีการย้ายเลขขึ้นบรรทัดใหม่ การคำนวณเลขชัยูนเบื้องต้นสำหรับ EMA ต้องคำนวณเลขชี้กำลัง ในการเริ่มต้นให้ใช้จำนวนวันที่ EMA ที่คุณต้องการคำนวณและเพิ่มจำนวนวันที่คุณกำลังพิจารณา (เช่นค่าเฉลี่ยเคลื่อนที่ 200 วันให้เพิ่มหนึ่งค่าเพื่อให้ได้ 201 เป็นส่วนหนึ่งของการคำนวณ) โทรนี้ได้ดีวันนี้ 1 จากนั้นเพื่อให้ได้เลขชี้กำลังให้ใช้เลข 2 และหารด้วยวันที่ 1 ตัวอย่างเช่น Exponent ของค่าเฉลี่ยเคลื่อนที่ 200 วันจะเท่ากับ 2 201 ซึ่งเท่ากับ 0.01 Full Calculation ถ้า Exponential Moving Average เมื่อใดก็ตามที่เรามีเลขชี้กำลังทั้งหมดเราต้องการตอนนี้คือข้อมูลเพิ่มเติมอีกสองบิตเพื่อให้เราสามารถคำนวณได้เต็มรูปแบบ . วันแรกคือวันพุธที่มีการย้ายค่าเฉลี่ย สมมติว่าเรารู้เรื่องนี้แล้วอย่างที่เราได้คำนวณไว้เมื่อวานนี้ อย่างไรก็ตามหากคุณไม่ทราบ EMA ในวันวานคุณสามารถเริ่มต้นด้วยการคำนวณ Average Moving Average สำหรับเมื่อวานนี้และใช้ EMA แทน EMA ในการคำนวณครั้งแรก (เช่นการคำนวณในปัจจุบัน) แล้ววันพรุ่งนี้คุณสามารถใช้ EMA ที่คุณคำนวณในวันนี้และอื่น ๆ ข้อมูลชิ้นที่สองที่เราต้องการคือราคาปิดในปัจจุบัน สมมติว่าเราต้องการคำนวณค่าเฉลี่ยเลขประจำวัน 200 วันสำหรับหุ้นหรือหุ้นที่มี EMA 120 วันก่อนหน้าหรือเท่ากับ 120 เพนนี (หรือเซนต์) และราคาปิดของวันที่ 136 เพนซ์ การคำนวณเต็มรูปแบบจะเป็นดังนี้: Todays Exponential Moving Average (วันที่ปิดราคาปัจจุบัน x Exponentential) (วันที่ก่อนหน้านี้ EMA x (1-Exponent)) ดังนั้นการใช้ตัวเลขตัวอย่างข้างต้นของเราวันนี้ 200 วัน EMA จะเป็นดังนี้: (136 x 0.01 ) (120 x (1- 0.01)) ซึ่งเท่ากับ EMA สำหรับวันนี้ที่ 120.16.Backtesting Crossover แบบถอยหลังโดยใช้ Python กับ pandas ในบทความก่อนหน้านี้เกี่ยวกับ Research Backtesting Environments ใน Python ด้วย Pandas เราได้สร้าง backtesting การวิจัยเชิงวัตถุ สิ่งแวดล้อมและทดสอบกับกลยุทธ์การคาดการณ์แบบสุ่ม ในบทความนี้เราจะใช้ประโยชน์จากเครื่องจักรที่เรานำมาใช้เพื่อทำการวิจัยเกี่ยวกับยุทธวิธีที่แท้จริงนั่นคือ Moving Average Crossover ใน AAPL Moving Average Crossover Strategy เทคนิค Moving Average Crossover เป็นกลยุทธ์โมเมนตัมที่เป็นที่รู้จักอย่างมาก ถือเป็นตัวอย่างของ Hello World สำหรับการซื้อขายเชิงปริมาณ กลยุทธ์ที่ระบุไว้ในที่นี้มีมานานแล้ว มีการสร้างตัวกรองแบบเคลื่อนที่เฉลี่ย 2 ตัวแยกกันโดยมีช่วงเวลามองย้อนกลับที่แตกต่างกันของชุดเวลาหนึ่ง ๆ สัญญาณที่จะซื้อสินทรัพย์เกิดขึ้นเมื่อค่าเฉลี่ยเคลื่อนที่แบบย้อนกลับที่สั้นกว่าค่าเฉลี่ยเคลื่อนที่ที่ยาวนานกว่า หากค่าเฉลี่ยยาวนานเกินกว่าค่าเฉลี่ยที่สั้นลงสินทรัพย์จะถูกขายคืน กลยุทธ์ทำงานได้ดีเมื่อชุดข้อมูลในช่วงเวลาเข้าสู่ช่วงที่มีแนวโน้มที่แข็งแกร่งและจากนั้นจะกลับทิศทางอย่างช้าๆ สำหรับตัวอย่างนี้ฉันได้เลือก Apple, Inc. (AAPL) เป็นชุดข้อมูลระยะเวลาโดยมองย้อนกลับไปในระยะสั้น 100 วันและย้อนกลับยาวนาน 400 วัน นี่คือตัวอย่างที่จัดทำโดยไลบรารีการค้าอัลกอริธึม zipline ดังนั้นถ้าเราต้องการที่จะใช้ backtester ของเราเองเราจำเป็นต้องให้แน่ใจว่ามันตรงกับผลลัพธ์ใน zipline เป็นวิธีพื้นฐานของการตรวจสอบ การติดตั้งอย่าลืมทำตามคำแนะนำก่อนหน้านี้ที่นี่ ซึ่งอธิบายว่าลำดับชั้นของวัตถุเริ่มต้นสำหรับ backtester ถูกสร้างขึ้นมิฉะนั้นโค้ดด้านล่างจะไม่ทำงาน สำหรับการใช้งานนี้ฉันได้ใช้ไลบรารีต่อไปนี้: การใช้งาน macross. py ต้องใช้ backtest. py จากบทแนะนำก่อนหน้านี้ ขั้นตอนแรกคือการนำเข้าโมดูลและออบเจ็กต์ที่จำเป็นเช่นในบทแนะนำก่อนหน้านี้เราจะจัดชั้นเรียนย่อยชั้นกลยุทธ์เพื่อสร้าง MovingAverageCrossStrategy ซึ่งมีรายละเอียดทั้งหมดเกี่ยวกับวิธีสร้างสัญญาณเมื่อค่าเฉลี่ยเคลื่อนที่ของ AAPL ข้ามกันและกัน วัตถุต้องมี shortwindow และ longwindow ที่จะใช้งาน ค่าได้รับการตั้งค่าเป็นค่าเริ่มต้นเป็น 100 วันและ 400 วันตามลำดับซึ่งเป็นพารามิเตอร์เดียวกับที่ใช้ในตัวอย่างหลักของ zipline ค่าเฉลี่ยเคลื่อนที่จะถูกสร้างขึ้นโดยใช้ฟังก์ชัน rollingmean ของแพนด้าบนแท่งปิดราคาปิดของสต็อก AAPL เมื่อสร้างค่าเฉลี่ยเฉพาะแต่ละซีรี่ส์สัญญาณจะถูกสร้างขึ้นโดยการตั้งค่าคอลัมน์ให้เท่ากับ 1.0 เมื่อค่าเฉลี่ยเคลื่อนที่สั้นมากกว่าค่าเฉลี่ยเคลื่อนที่ที่ยาวหรือ 0.0 มิลลิวินาที จากนี้คำสั่งตำแหน่งสามารถสร้างขึ้นเพื่อแสดงสัญญาณการซื้อขายได้ MarketOnClosePortfolio ถูกแบ่งย่อยจาก Portfolio ซึ่งพบได้ใน backtest. py เกือบจะเหมือนกันกับการดำเนินการที่อธิบายไว้ในกวดวิชาก่อนหน้านี้โดยมีข้อยกเว้นว่าขณะนี้ธุรกิจการค้าดำเนินการบนพื้นฐาน Close-to-Close แทนที่จะเป็นแบบ Open-to-Open สำหรับรายละเอียดเกี่ยวกับวิธีกำหนดเป้าหมาย Portfolio ให้ดูบทแนะนำก่อนหน้านี้ Ive ซ้ายรหัสเพื่อความสมบูรณ์และเพื่อให้กวดวิชานี้มีอยู่ด้วยตนเอง: ตอนนี้ที่มีการกำหนดคลาส MovingAverageCrossStrategy และ MarketOnClosePortfolio แล้วฟังก์ชันหลักจะถูกเรียกให้ผูกฟังก์ชันการทำงานทั้งหมดเข้าด้วยกัน นอกจากนี้ประสิทธิภาพของกลยุทธ์จะถูกตรวจสอบผ่านพล็อตของเส้นโค้งส่วนได้เสีย ออบเจ็กต์ DataReader ของแพนด้าดาวน์โหลดราคา OHLCV ของสต็อก AAPL สำหรับช่วงตั้งแต่วันที่ 1 ม. ค. 1990 ถึง 1 มกราคม 2002 ซึ่งจะสร้างสัญญาณข้อมูล DataFrame เพื่อสร้างสัญญาณแบบยาวเท่านั้น ต่อจากนั้นจะมีการสร้างพอร์ตการลงทุนโดยมีฐานเงินทุนเริ่มแรก 100,000 เหรียญสหรัฐและผลตอบแทนจะคำนวณจากส่วนของส่วนของผู้ถือหุ้น ขั้นตอนสุดท้ายคือการใช้ matplotlib เพื่อวางแผนพล็อตสองตัวเลขของทั้งสองราคา AAPL ซ้อนทับกับค่าเฉลี่ยเคลื่อนที่และสัญญาณ buysell รวมทั้งเส้นโค้งส่วนที่มีสัญญาณ buysell เดียวกัน รหัสวางแผนถูกนำมา (และแก้ไข) จากตัวอย่างการใช้ zipline ผลลัพธ์แบบกราฟิกของโค้ดมีดังนี้ ฉันใช้คำสั่งวาง IPython เพื่อใส่ข้อมูลนี้ลงในคอนโซล IPython โดยตรงใน Ubuntu เพื่อให้เอาต์พุตแบบกราฟิกอยู่ในมุมมอง การปรับขึ้นค่าสีชมพูหมายถึงการซื้อหุ้นในขณะที่ downticks สีดำเป็นตัวแทนขายมันกลับมา: ตามที่สามารถเห็นได้กลยุทธ์สูญเสียเงินในช่วงเวลาที่มีห้าธุรกิจการท่องเที่ยวรอบ นี้ไม่น่าแปลกใจที่ได้รับพฤติกรรมของ AAPL ในช่วงเวลาซึ่งอยู่ในแนวโน้มลดลงเล็กน้อยตามด้วยการเริ่มต้นขึ้นอย่างมากจุดเริ่มต้นในปี 1998 ระยะเวลา lookback ของสัญญาณเฉลี่ยเคลื่อนไหวค่อนข้างใหญ่และส่งผลกระทบต่อกำไรของการค้าขั้นสุดท้าย ซึ่งอาจทำให้กลยุทธ์มีกำไร ในบทความต่อ ๆ ไปเราจะสร้างวิธีการวิเคราะห์ประสิทธิภาพที่ซับซ้อนขึ้นและอธิบายถึงวิธีเพิ่มระยะเวลาการมองย้อนกลับของแต่ละค่าเฉลี่ยที่เคลื่อนที่ได้ เพิ่งเริ่มต้นด้วยการใช้เครื่องมือเชิงปริมาณด้วยเครื่องมือเชิงตัวเลข Analogous DataFrame มีวิธีการคำนวณค่าสหกรณ์แบบคู่ระหว่างชุดข้อมูลใน DataFrame โดยไม่รวมค่า NAnull ด้วย สมมติว่าข้อมูลที่หายไปสูญหายไปในแบบสุ่มทำให้ผลลัพธ์นี้เป็นค่าประมาณสำหรับเมทริกซ์ความแปรปรวนร่วมซึ่งไม่เป็นกลาง อย่างไรก็ตามสำหรับแอ็พพลิเคชันจำนวนมากการประมาณนี้อาจไม่ได้รับการยอมรับเพราะเมทริกซ์ความแปรปรวนร่วมไม่ได้รับประกันว่าจะเป็นค่ากึ่งกลางที่แน่นอน ซึ่งอาจนำไปสู่ความสัมพันธ์โดยประมาณที่มีค่าสัมบูรณ์มากกว่าหนึ่งอันและเป็นเมทริกซ์ความแปรปรวนร่วมที่ไม่สามารถผันแปรได้ ดูการคำนวณเมทริกซ์ความแปรปรวนร่วมสำหรับรายละเอียดเพิ่มเติม DataFrame. cov สนับสนุนคำหลัก minperiods ที่ระบุซึ่งระบุจำนวนการสังเกตต่ำสุดที่ต้องการสำหรับคู่ของแต่ละคอลัมน์เพื่อให้ได้ผลลัพธ์ที่ถูกต้อง น้ำหนักที่ใช้ในหน้าต่างจะถูกระบุโดยคำหลัก wintype รายการของประเภทที่เป็นที่รู้จัก ได้แก่ : รถสามล้อสามล้อ blackjack hamming bartlett parzen bohman blackmanharris nuttall barthann ไกเซอร์ (ความต้องการเบต้า) gaussian (ความต้องการ std) generalgaussian (ต้องใช้พลังงานความกว้าง) slepian (ความกว้างความต้องการ) โปรดสังเกตว่าหน้าต่าง boxcar เท่ากับ mean () สำหรับฟังก์ชัน windowing บางพารามิเตอร์เพิ่มเติมต้องระบุ: สำหรับ. sum () ด้วย wintype ไม่มีการทำให้เป็นปกติกับน้ำหนักสำหรับหน้าต่าง การผ่านน้ำหนักที่กำหนดเองของ 1, 1, 1 จะให้ผลลัพธ์ที่แตกต่างจากการใช้น้ำหนักของ 2, 2, 2 ตัวอย่างเช่น เมื่อผ่าน wintype แทนการระบุน้ำหนักอย่างชัดเจนน้ำหนักจึงเป็น normalised แล้วดังนั้นน้ำหนักที่ใหญ่ที่สุดคือ 1. ในทางตรงกันข้ามธรรมชาติของการคำนวณ mean () เป็นเช่นที่น้ำหนักจะเป็น normalised โดยให้ความสำคัญกับแต่ละอื่น ๆ น้ำหนักของ 1, 1, 1 และ 2, 2, 2 ให้ผลเหมือนกัน เวลารู้ Rolling ใหม่ในรุ่น 0.19.0 ใหม่ในรุ่น 0.19.0 มีความสามารถในการส่ง offset (หรือ convertible) ไปยัง method. rolling () และสร้างหน้าต่างขนาดตัวแปรขึ้นอยู่กับหน้าต่างเวลาที่ผ่านมา สำหรับแต่ละจุดเวลาค่านี้รวมถึงค่าก่อนหน้าทั้งหมดที่เกิดขึ้นภายในเดลต้าเวลาที่ระบุ ซึ่งอาจเป็นประโยชน์สำหรับดัชนีความถี่ที่ไม่ปกติ นี่คือดัชนีความถี่ปกติ การใช้พารามิเตอร์หน้าต่างจำนวนเต็มทำงานเพื่อหมุนตามความถี่ของหน้าต่าง การระบุการชดเชยจะช่วยให้สามารถระบุความถี่ของการกลิ้งได้ง่ายขึ้น การใช้ดัชนีที่ไม่สม่ำเสมอ แต่ยังคงเป็นแบบ monotonic การหมุนด้วยหน้าต่างจำนวนเต็มจะไม่ส่งผลต่อการคำนวณพิเศษใด ๆ การใช้สเปคเวลาจะสร้างหน้าต่างตัวแปรสำหรับข้อมูลเบาบางนี้ นอกจากนี้ตอนนี้เราอนุญาตพารามิเตอร์ตัวเลือกสำหรับระบุคอลัมน์ (แทนที่จะเป็นค่าดีฟอลต์ของดัชนี) ใน DataFrame การใช้.rolling () กับเวลาที่ใช้ดัชนีค่อนข้างคล้ายกับ resampling ทั้งสองทำงานและดำเนินการลดขนาดของวัตถุแพนด้าที่มีการจัดดัชนีเวลา เมื่อใช้. billing () กับ offset การชดเชยคือเวลาเดลต้า ใช้หน้าต่างที่มองย้อนกลับไปในเวลาต่อมาและรวมค่าทั้งหมดไว้ในหน้าต่างดังกล่าว (รวมถึงจุดสิ้นสุด แต่ไม่ใช่จุดเริ่มต้น) นี่คือมูลค่าใหม่ ณ จุดนั้นในผลลัพธ์ เหล่านี้เป็นหน้าต่างขนาดตัวแปรในพื้นที่เวลาสำหรับแต่ละจุดของอินพุต คุณจะได้รับผลลัพธ์ที่เท่ากันกับการป้อนข้อมูล เมื่อใช้. resample () กับ offset สร้างดัชนีใหม่ซึ่งเป็นความถี่ของการชดเชย สำหรับถาดความถี่แต่ละจุดรวมจากอินพุทภายในหน้าต่างมองย้อนกลับไปข้างหน้าในเวลาที่ตกอยู่ในถังขยะนั้น ผลลัพธ์ของการรวมนี้คือผลลัพธ์สำหรับจุดความถี่นั้น หน้าต่างมีขนาดคงที่ในพื้นที่ความถี่ ผลลัพธ์ของคุณจะมีรูปร่างเป็นช่วงความถี่ปกติระหว่างช่วง min และ max ของอ็อบเจ็กต์อินพุตต้นฉบับ สรุป rolling () คือการดำเนินการหน้าต่างตามเวลาขณะที่. resample () คือการทำงานของหน้าต่างที่ใช้ความถี่ Centering Windows โดยค่าเริ่มต้นป้ายชื่อจะถูกตั้งค่าไว้ที่ขอบด้านขวาของหน้าต่าง แต่มีคำหลักอยู่ตรงกลางเพื่อให้สามารถตั้งค่าป้ายกำกับได้ที่ศูนย์กลาง ฟังก์ชันหน้าต่างไบนารี cov () และ corr () สามารถคำนวณการเคลื่อนย้ายสถิติหน้าต่างเกี่ยวกับชุดข้อมูลสองชุดหรือ DataFrameSeries หรือ DataFrameDataFrame ที่รวมกันได้ นี่คือพฤติกรรมในแต่ละกรณี: Two Series คำนวณสถิติสำหรับการจับคู่ DataFrameSeries คำนวณสถิติสำหรับแต่ละคอลัมน์ของ DataFrame ด้วยชุดข้อมูลที่ผ่านมาซึ่งจะส่งกลับ DataFrame DataFrameDataFrame โดยค่าเริ่มต้นจะคำนวณสถิติสำหรับการจับคู่ชื่อคอลัมน์ส่งกลับ DataFrame ถ้าอาร์กิวเมนต์คำหลัก pairwiseTrue ถูกส่งไปแล้วจะคำนวณค่าสถิติสำหรับแต่ละคู่ของคอลัมน์ส่งคืนแผงที่มีรายการเป็นวันที่ที่ต้องการ (ดูส่วนถัดไป) ในการวิเคราะห์ข้อมูลทางการเงินและสาขาอื่น ๆ it8217s ทั่วไปในการคำนวณความแปรปรวนร่วมและเมทริกซ์ความสัมพันธ์สำหรับชุดของชุดเวลา บ่อยครั้งที่หนึ่งยังมีความสนใจในความแปรปรวนร่วมกันระหว่างการเคลื่อนที่และความสัมพันธ์ของเมทริกซ์ ซึ่งสามารถทำได้โดยการส่งผ่านอาร์กิวเมนต์คำหลัก pairwise ซึ่งในกรณีที่อินพุต DataFrame จะแสดงผล Panel ที่มีรายการอยู่ในคำถาม ในกรณีที่มีอาร์กิวเมนต์ DataFrame แบบเดียวอาร์กิวเมนต์ pairwise สามารถถูกละเว้นได้: ค่าที่หายไปจะถูกละเลยและแต่ละรายการจะคำนวณโดยใช้การสังเกตที่สมบูรณ์แบบแบบ pairwise โปรดดูส่วนความแปรปรวนร่วมสำหรับข้อแม้ที่เกี่ยวข้องกับวิธีการคำนวณเมตริกซ์ร่วมกันและเมทริกซ์ความสัมพันธ์นี้ นอกเหนือจากการไม่มีพารามิเตอร์หน้าต่างฟังก์ชันเหล่านี้มีอินเทอร์เฟซเดียวกันกับคู่ขนาน เช่นเดียวกับข้างต้นพารามิเตอร์ที่พวกเขายอมรับคือ minperiods เกณฑ์จุดข้อมูลที่ไม่เป็นโมฆะที่ต้องการ ค่าเริ่มต้นต่ำสุดที่จำเป็นในการคำนวณสถิติ ไม่มี NaN จะถูกส่งออกเมื่อ minperiods จุดข้อมูลที่ไม่เป็นโมฆะได้รับการเห็น ศูนย์ boolean ไม่ว่าจะตั้งป้ายชื่อไว้ที่กึ่งกลาง (ค่าดีฟอลต์คือ False) ผลลัพธ์ของวิธีการ. rolling และ. expanding จะไม่คืนค่า NaN หากมีค่ามิลลิลิตรอย่างน้อยในหน้าต่างปัจจุบัน นี้แตกต่างจาก cumsum cumprod cummax และคัมมิน ซึ่งส่งกลับ NaN ในเอาต์พุตที่ใดก็ตามที่ NaN พบในอินพุท สถิติการขยายหน้าต่างจะมีเสถียรภาพมากขึ้น (และมีการตอบสนองน้อยกว่าคู่สัญญาของหน้าต่างรีดลำตุ้งเนื่องจากขนาดหน้าต่างที่เพิ่มขึ้นจะลดผลกระทบโดยสัมพัทธ์ของแต่ละจุดข้อมูล ตัวอย่างเช่นนี่คือค่าเฉลี่ย () สำหรับชุดข้อมูลชุดเวลาก่อนหน้านี้: Windows แบบมีการแจกแจงความถี่แบบยกตอนฟังก์ชันที่เกี่ยวข้อง ได้แก่ แบบยกกำลังสองของสถิติข้างต้น มีการเข้าถึงอินเทอร์เฟซที่คล้ายกับ. rolling และ. expanding ผ่านทางวิธี. wm เพื่อรับวัตถุ EWM มีการขยายวิธีการ EW (การถ่วงน้ำหนักแบบทวีคูณ) จำนวนมาก: ขอบคุณสำหรับการโพสต์ EMA และใช่ TAlib ควรจะพร้อมใช้งานจริงๆ มีงานบางอย่างเกี่ยวกับเรื่องนี้ซึ่งดูเหมือนจะมีแนวโน้มมาก (githubquantopianziplinepull100) ฉันจะพยายามดึงข้อมูลนี้ออกในไม่ช้าเพื่อให้ผู้ชมจำนวนมากขึ้น เนื้อหาในเว็บไซต์นี้มีไว้เพื่อจุดประสงค์ในการให้ข้อมูลเท่านั้นและไม่ถือเป็นข้อเสนอในการขายการชักชวนให้ซื้อหรือคำแนะนำหรือการรับรองความปลอดภัยหรือกลยุทธ์ใด ๆ และไม่เป็นข้อเสนอในการให้บริการที่ปรึกษาการลงทุนโดย Quantopian นอกจากนี้เนื้อหายังไม่มีความเห็นเกี่ยวกับความเหมาะสมของหลักทรัพย์หรือการลงทุนใด ๆ Quantopian ไม่มีการรับประกันใด ๆ เกี่ยวกับความถูกต้องหรือความครบถ้วนของข้อมูลในเว็บไซต์ มุมมองอาจมีการเปลี่ยนแปลงและอาจไม่น่าเชื่อถือด้วยเหตุผลหลายประการรวมถึงการเปลี่ยนแปลงสภาวะตลาดหรือสภาวะทางเศรษฐกิจ การลงทุนทั้งหมดเกี่ยวข้องกับความเสี่ยงรวมถึงการสูญเสียเงินต้น คุณควรปรึกษากับผู้เชี่ยวชาญด้านการลงทุนก่อนตัดสินใจลงทุน ไม่เป็นไร แต่ส่วนใหญ่ของการทำงานของการหาวิธีที่ดีที่สุดได้ทำมาแล้ว เราเพียงแค่ต้องจบลง หลังจากนั้นก็เป็นเพียงพวงของ copyamppaste ที่จะห่อห้องสมุด TAlib ทั้งหมด มีหลายสิ่งที่ดีในงานเพื่อแก้ไขปัญหาบางอย่างที่เกิดขึ้น เป็นเรื่องของทรัพยากรสำหรับส่วนใหญ่ เนื้อหาในเว็บไซต์นี้มีไว้เพื่อจุดประสงค์ในการให้ข้อมูลเท่านั้นและไม่ถือเป็นข้อเสนอในการขายการชักชวนให้ซื้อหรือคำแนะนำหรือรับรองสำหรับความปลอดภัยหรือกลยุทธ์ใด ๆ และไม่เป็นข้อเสนอเพื่อให้บริการที่ปรึกษาการลงทุนโดย Quantopian นอกจากนี้เนื้อหายังไม่มีความเห็นเกี่ยวกับความเหมาะสมของหลักทรัพย์หรือการลงทุนใด ๆ Quantopian ไม่มีการรับประกันใด ๆ เกี่ยวกับความถูกต้องหรือความครบถ้วนของข้อมูลในเว็บไซต์ มุมมองอาจมีการเปลี่ยนแปลงและอาจไม่น่าเชื่อถือด้วยเหตุผลหลายประการรวมถึงการเปลี่ยนแปลงสภาวะตลาดหรือสภาวะทางเศรษฐกิจ การลงทุนทั้งหมดเกี่ยวข้องกับความเสี่ยงรวมถึงการสูญเสียเงินต้น คุณควรปรึกษากับผู้เชี่ยวชาญด้านการลงทุนก่อนตัดสินใจลงทุน

No comments:

Post a Comment