联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Python编程Python编程

日期:2024-03-06 10:30

Project Background:In the evolving landscape of financial markets, Exchange-Traded Funds (ETFs) have emerged as a popular investment vehicle, offering diversified exposure across various sectors and asset classes. As our company ventures into building an advanced ETF price movement monitor and analytical pipeline, we recognize the need for historical and real-time data acquisition and analysis. This project will involve leveraging Python to dynamically retrieve and process a comprehensive list of US ETFs and their historical daily price data for the most recent 1 year.Project Mission:The objective of this project is twofold: firstly, to develop a Python script capable of retrieving a live-updating list of all US ETF tickers from reliable online sources. Secondly, to create a separate script for downloading the daily price data of these ETFs. This will enable us to monitor market trends, analyze ETF performances, and make informed investment decisions. Your work will contribute significantly to the development of our ETF analytical pipeline, enhancing our ability to offer timely and data-driven insights to our clients.Project Requirements:1. Ticker Retrieval Script:

- Develop a Python script to extract a live list of US ETF tickers from online sources like Finviz or Morningstar, or other credible online sources.
- The source should be dynamic, providing real-time updates rather than static files.
- Implement error handling and efficient data retrieval methods.2. Price Data Download Script:
- Create a Python script to download daily price data (e.g., open, high, low, close, volume) for the ETFs identified, with the period of the most recent 1-year daily data for each ETF.
- Utilize sources like Yahoo Finance for data download.
- Incorporate a retry mechanism to handle potential download failures or API instability, ensuring complete data retrieval.
- The script should manage the frequency of requests to avoid issues with the data source’s rate limits.
- Please make sure your Python code can download all the data, either saving into a SQLite database or exporting to csv files3. Data Quality Validation:Considering the large number of ETF tickers and the extensive volume of datasets involved in your project, it's essential to implement a thorough preliminary check on the data's quality. Here's an additional suggestion focusing on the use of statistical descriptions and visualizations:Implement Comprehensive Statistical Descriptions and Visualizations:- Descriptive Statistics: Start by generating descriptive statistics for each ETF dataset. This includes measures like mean, median, mode, standard deviation, minimum, and maximum values for each attribute (e.g., open, high, low, close prices). Descriptive statistics will provide a quick overview of the data's distribution and identify any anomalies like extremely high or low values that may indicate data errors.
- Histograms and Boxplots: For each ETF, create histograms and boxplots of price data (open, high, low, close). Histograms will help in understanding the distribution and spotting any skewness or unusual patterns. Boxplots are useful for quickly visualizing the range of data and identifying potential outliers.
- Time Series Plots: Build a function to allow user to plot the time series data for any requested ETF that has been downloaded. This will help in visually inspecting the data for any inconsistencies, gaps, or unusual spikes that may not be obvious in the numerical summaries.
- Missing Data Analysis: Conduct an analysis to check for missing data.
- Automated Alerts for Data Anomalies: Implement an automated system that flags data points that are statistical outliers or fall outside predefined thresholds. For example, this could be based on z-scores or other statistical measures.By incorporating these statistical descriptions and visualizations above into your preliminary data checks, you can significantly enhance the quality assurance process. It will enable you to identify and address potential data quality issues effectively before they impact any further analysis or decision-making processes.4. Documentation and Code Efficiency:
- Both scripts should be well-documented, with clear comments and readable code.
- Include error handling and data validation to ensure the reliability of the scripts.Suggested Project Steps:1. Research and identify potential online sources for live ETF ticker data.
2. Develop the Python script for ETF ticker retrieval, ensuring dynamic updates and efficient data processing.
3. Identify a reliable source for daily ETF price data and develop the downloading script with appropriate retry and rate-limit handling mechanisms.
4. Test the scripts thoroughly to ensure accuracy and reliability.
5. Document the code and provide a brief user guide or comments within the script for ease of use and understanding.Additional Information for your Reference for your Better Understandings:1. Information to Extract for ETF Tickers:
- The primary goal of the first script is to retrieve a list of US ETF tickers. A ticker, in this context, is the unique symbol used to identify an ETF on the stock exchange. For example, "SPY" is the ticker for the SPDR S&P 500 ETF Trust.
- Apart from the ticker symbols, it would be beneficial if you can also extract additional basic information about each ETF, if available from your data source. This might include:
a. ETF Name: The full name of the ETF.
b. ETF Category or Sector: The market segment or sector the ETF focuses on, such as technology, healthcare, etc.
c. Asset Manager: The firm managing the ETF.
d. However, the focus should primarily be on retrieving a comprehensive and up-to-date list of ticker symbols. Additional information is useful, but the tickers are the priority.2. Dynamics of ETF Tickers:
- ETF tickers themselves are not dynamic; they are fixed symbols assigned to each fund. However, the list of ETFs is dynamic in the sense that new ETFs are frequently launched, and some are delisted. Therefore, we need a dynamic method to retrieve this list, ensuring it reflects the most current ETFs available in the market.
- Manually creating a list of ticker names is not ideal for this project. We aim to develop a script that can automatically fetch and update this list from online sources. This way, our dataset remains current without manual intervention.
- The script should be designed to periodically query an online source (like Finviz or Morningstar, or other sources) to obtain an updated list of all US ETFs. These sources typically have pages or APIs that list all ETFs they track, including newly listed ones.It is essential to create a Python script that can periodically connect to these sources, extract the list of ETF tickers (and additional information if possible), and ensure this list is up-to-date. This dynamic approach is crucial as it allows our system to adapt to changes in the ETF market automatically.I hope this helps clear up your questions and potential concerns. If you have any more questions or need further assistance, please don't hesitate to reach out. We are confident in your abilities and look forward to your progress on this project!Deliverables:1. One Python script (.py file): Both for retrieving ETF tickers and for downloading their daily price data.
2. A brief documentation or in-code comments explaining the functionality and usage of the scripts.


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp