
    fi                         d Z ddlmZ ddlZddlZddlmZ dej        fdZ	e
dk    r e	            Z ee           dS dS )zw
Date: 2024/1/20 22:30
Desc: FF-data-library
https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html
    )StringION)ff_home_urlreturnc                  "   t          j        t                    } t          j        t          | j                  dd          d         j        dddf         j        	                                }d t          j        t          | j                  dd          d         j        dddf         j        d         
                    d          D             }d t          j        t          | j                  dd          d         j        dddf         j        d	         
                    d          D             }d
 t          j        t          | j                  dd          d         j        dddf         j        d         
                    d          D             }|                    dd           |                    dd           |                    dd           t          j        t          | j                  d          d         j        dddf         j        
                    dd          j        d                                         	                                }t          j        |||g||          j        }t          j        t          | j                  dd          d         j        d	ddf         j        	                                }d t          j        t          | j                  dd          d         j        d	ddf         j        d         
                    d          D             }d t          j        t          | j                  dd          d         j        d	ddf         j        d	         
                    d          D             }d t          j        t          | j                  dd          d         j        d	ddf         j        d         
                    d          D             }|                    dd           |                    dd           |                    dd           t          j        t          | j                  d          d         j        dddf         j        
                    dd          j        d	                                         	                                }t          j        |||g||          j        }t          j        t          | j                  dd          d         j        dddf         }t          j        t          | j                  d          d         j        dddf         j        
                    dd          j        dddf         	                                }	|j        d         
                    d          }
|
                    dd           |
                    d	d           |
                    dd           |
                    dd           |j        d	         
                    d          }|                    dd           |                    d	d           |                    dd           |                    dd           |j        d         
                    d          }|                    dd           |                    d	d           |                    dd           |                    dd           |	                    d           |	                    dd           |	                    dd           d |	D             }|                    dd           |                    d	d           |                    dd           |                    dd           t          j        ||
||g          j        }|j        dddf         |_        |j        ddd	df         }t          j                    }t          j        ||g          }t          j        ||g          }|j        |_        t          j        ||g          }|                    d            |                    d!d"id#           |S )$u   
    FF多因子模型
    https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html
    :return: FF多因子模型单一表格
    :rtype: pandas.DataFrame
    r   )header	index_col      Nc                     g | ]
}|d k    |S   .0items     D/usr/local/lib/python3.11/dist-packages/akshare/article/ff_factor.py
<listcomp>z"article_ff_crr.<locals>.<listcomp>   -        2:: 	
 ::     c                     g | ]
}|d k    |S r   r   r   s     r   r   z"article_ff_crr.<locals>.<listcomp>'   r   r      c                     g | ]
}|d k    |S r   r   r   s     r   r   z"article_ff_crr.<locals>.<listcomp>/   r   r   -)r   z  T)expand)indexcolumnsc                     g | ]
}|d k    |S r   r   r   s     r   r   z"article_ff_crr.<locals>.<listcomp>L   r   r   c                     g | ]
}|d k    |S r   r   r   s     r   r   z"article_ff_crr.<locals>.<listcomp>T   r   r   c                     g | ]
}|d k    |S r   r   r   s     r   r   z"article_ff_crr.<locals>.<listcomp>\   r   r         zSmall Growth Big Value   zSmall Growth   z	Big Valuec                     g | ]}d |v|	S )
Portfoliosr   r   s     r   r   z"article_ff_crr.<locals>.<listcomp>   s"    HHH$|4/G/G/G/G/Gr   zFama/French Research Portfoliosz"Size and Book-to-Market Portfoliosz+Size and Operating Profitability PortfolioszSize and Investment Portfolios)inplacer   r   )r   r'   )requestsgetr   pd	read_htmlr   textilocr   tolistsplitinsertstrTdropna	DataFrameremoveconcatr   reset_indexrename)res
list_indexlist_0list_1list_2temp_columns	table_one	table_twodf	name_listvalue_list_0value_list_1value_list_2	temp_listtemp_dfall_dfs                   r   article_ff_crrrI      s&    ,{
#
#C 	Xch''Q???B	ad		vvxx 
 L#(!3!3AKKKAN	ad	a 
s  F L#(!3!3AKKKAN	ad	a 
s  F L#(!3!3AKKKAN	ad	a 
s  F MM!S
MM!S
MM!S
Xch''22215	aaad		UU4U%%	
1	 
	  	 
L    	Xch''Q???B	ad		vvxx 
 L#(!3!3AKKKAN	ad	a 
s  F L#(!3!3AKKKAN	ad	a 
s  F L#(!3!3AKKKAN	ad	a 
s  F MM!S
MM!S
MM!S
Xch''22215	aaad		UU4U%%	
1	 
	  	 
L   
 
hsx((a	@	@	@	C	HAAA	NB
Xch''22215	aaad		UU5U&&	ad	 
  71:##D))L333C   71:##D))L333C   71:##D))L333C   -...Q'''Q$$$HH)HHHIQ9:::Q<===QEFFFR9:::lI|\<PQQSGLA&GMl111abb5!G\^^FY	*++FY	*++F'GOY())F
t$$$
MM7F+TM:::Mr   __main__)__doc__ior   pandasr*   r(   akshare.article.consr   r4   rI   __name__article_ff_crr_dfprintr   r   r   <module>rR      s                , , , , , ,P P P P Pf z&((	E
 r   