Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
A
alpha-mind
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dr.李
alpha-mind
Commits
db8c05c3
Commit
db8c05c3
authored
Aug 24, 2017
by
Dr.李
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added more
parent
0c249a27
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
13 deletions
+20
-13
api.py
alphamind/api.py
+3
-0
sqlengine.py
alphamind/data/engines/sqlengine.py
+1
-1
preparing.py
alphamind/model/preparing.py
+16
-12
No files found.
alphamind/api.py
View file @
db8c05c3
...
...
@@ -22,6 +22,8 @@ from alphamind.data.standardize import standardize
from
alphamind.data.neutralize
import
neutralize
from
alphamind.data.engines.sqlengine
import
factor_tables
from
alphamind.model.preparing
import
prepare_data
from
alphamind.utilities
import
alpha_logger
...
...
@@ -41,5 +43,6 @@ __all__ = [
'standardize'
,
'neutralize'
,
'factor_tables'
,
'prepare_data'
,
'alpha_logger'
]
\ No newline at end of file
alphamind/data/engines/sqlengine.py
View file @
db8c05c3
...
...
@@ -83,7 +83,7 @@ macro_styles = ['COUNTRY']
total_risk_factors
=
risk_styles
+
industry_styles
+
macro_styles
factor_tables
=
[
Uqer
,
Tiny
,
LegacyFactor
,
Experimental
,
Market
]
factor_tables
=
[
Uqer
,
Tiny
,
LegacyFactor
,
Experimental
,
RiskExposure
,
Market
]
def
append_industry_info
(
df
):
...
...
alphamind/model/preparing.py
View file @
db8c05c3
...
...
@@ -15,35 +15,39 @@ from alphamind.data.engines.sqlengine import SqlEngine
from
alphamind.data.engines.universe
import
Universe
def
_map_horizon
(
sampling
:
str
)
->
int
:
if
sampling
==
'1d'
:
def
_map_horizon
(
frequency
:
str
)
->
int
:
if
frequency
==
'1d'
:
return
0
elif
sampling
==
'1w'
:
elif
frequency
==
'1w'
:
return
4
elif
sampling
==
'1m'
:
elif
frequency
==
'1m'
:
return
21
elif
sampling
==
'3m'
:
elif
frequency
==
'3m'
:
return
62
else
:
raise
ValueError
(
'{0} is an unrecognized
sampling rule'
.
format
(
sampling
))
raise
ValueError
(
'{0} is an unrecognized
frequency rule'
.
format
(
frequency
))
def
prepare_data
(
engine
:
SqlEngine
,
factors
:
Iterable
[
object
],
start_date
:
str
,
end_date
:
str
,
sampling
:
str
,
universe
:
Universe
):
dates
=
makeSchedule
(
start_date
,
end_date
,
sampling
,
calendar
=
'china.sse'
,
dateRule
=
BizDayConventions
.
Following
)
frequency
:
str
,
universe
:
Universe
,
default_window
:
int
=
0
):
dates
=
makeSchedule
(
start_date
,
end_date
,
frequency
,
calendar
=
'china.sse'
,
dateRule
=
BizDayConventions
.
Following
)
horizon
=
_map_horizon
(
sampling
)
horizon
=
_map_horizon
(
frequency
)
transformer
=
Transformer
(
factors
)
factor_df
=
engine
.
fetch_factor_range
(
universe
,
factors
=
transformer
,
dates
=
dates
)
.
sort_values
([
'Date'
,
'Code'
])
factor_df
=
engine
.
fetch_factor_range
(
universe
,
factors
=
transformer
,
dates
=
dates
,
default_window
=
default_window
)
.
sort_values
([
'Date'
,
'Code'
])
return_df
=
engine
.
fetch_dx_return_range
(
universe
,
dates
=
dates
,
horizon
=
horizon
)
df
=
pd
.
merge
(
factor_df
,
return_df
,
on
=
[
'Date'
,
'Code'
])
df
=
pd
.
merge
(
factor_df
,
return_df
,
on
=
[
'Date'
,
'Code'
])
.
dropna
()
return
df
[[
'Date'
,
'Code'
,
'dx'
]],
df
[[
'Date'
,
'Code'
]
+
transformer
.
names
]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment