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
e62c5ebf
Commit
e62c5ebf
authored
Feb 14, 2018
by
Dr.李
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added data fetching in data_meta
parent
a47e90a4
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
39 deletions
+40
-39
composer.py
alphamind/model/composer.py
+40
-39
No files found.
alphamind/model/composer.py
View file @
e62c5ebf
...
@@ -19,7 +19,6 @@ from alphamind.data.winsorize import winsorize_normal
...
@@ -19,7 +19,6 @@ from alphamind.data.winsorize import winsorize_normal
from
alphamind.data.standardize
import
standardize
from
alphamind.data.standardize
import
standardize
from
alphamind.model.loader
import
load_model
from
alphamind.model.loader
import
load_model
PROCESS_MAPPING
=
{
PROCESS_MAPPING
=
{
'winsorize_normal'
:
winsorize_normal
,
'winsorize_normal'
:
winsorize_normal
,
'standardize'
:
standardize
'standardize'
:
standardize
...
@@ -102,58 +101,60 @@ class DataMeta(object):
...
@@ -102,58 +101,60 @@ class DataMeta(object):
warm_start
=
warm_start
,
warm_start
=
warm_start
,
data_source
=
data_source
)
data_source
=
data_source
)
def
fetch_train_data
(
self
,
ref_date
,
alpha_model
:
ModelBase
):
return
fetch_train_phase
(
self
.
engine
,
alpha_model
.
formulas
,
ref_date
,
self
.
freq
,
self
.
universe
,
self
.
batch
,
self
.
neutralized_risk
,
self
.
risk_model
,
self
.
pre_process
,
self
.
post_process
,
self
.
warm_start
)
def
fetch_predict_data
(
self
,
ref_date
:
str
,
alpha_model
:
ModelBase
):
return
fetch_predict_phase
(
self
.
engine
,
alpha_model
.
formulas
,
ref_date
,
self
.
freq
,
self
.
universe
,
self
.
batch
,
self
.
neutralized_risk
,
self
.
risk_model
,
self
.
pre_process
,
self
.
post_process
,
self
.
warm_start
,
fillna
=
True
)
def
train_model
(
ref_date
:
str
,
def
train_model
(
ref_date
:
str
,
alpha_model
:
ModelBase
,
alpha_model
:
ModelBase
,
data_meta
:
DataMeta
=
None
,
data_meta
:
DataMeta
=
None
,
x_values
:
pd
.
DataFrame
=
None
,
x_values
:
pd
.
DataFrame
=
None
,
y_values
:
pd
.
DataFrame
=
None
):
y_values
:
pd
.
DataFrame
=
None
):
base_model
=
copy
.
deepcopy
(
alpha_model
)
base_model
=
copy
.
deepcopy
(
alpha_model
)
if
x_values
is
None
:
if
x_values
is
None
:
train_data
=
fetch_train_phase
(
data_meta
.
engine
,
train_data
=
data_meta
.
fetch_train_data
(
ref_date
,
alpha_model
)
alpha_model
.
formulas
,
ref_date
,
data_meta
.
freq
,
data_meta
.
universe
,
data_meta
.
batch
,
data_meta
.
neutralized_risk
,
data_meta
.
risk_model
,
data_meta
.
pre_process
,
data_meta
.
post_process
,
data_meta
.
warm_start
)
x_values
=
train_data
[
'train'
][
'x'
]
x_values
=
train_data
[
'train'
][
'x'
]
y_values
=
train_data
[
'train'
][
'y'
]
y_values
=
train_data
[
'train'
][
'y'
]
base_model
.
fit
(
x_values
,
y_values
)
base_model
.
fit
(
x_values
,
y_values
)
return
base_model
return
base_model
def
fetch_predict_data
(
ref_date
:
str
,
alpha_model
:
ModelBase
,
data_meta
):
predict_data
=
fetch_predict_phase
(
data_meta
.
engine
,
alpha_model
.
formulas
,
ref_date
,
data_meta
.
freq
,
data_meta
.
universe
,
data_meta
.
batch
,
data_meta
.
neutralized_risk
,
data_meta
.
risk_model
,
data_meta
.
pre_process
,
data_meta
.
post_process
,
data_meta
.
warm_start
,
fillna
=
True
)
return
predict_data
[
'predict'
][
'code'
],
predict_data
[
'predict'
][
'x'
]
def
predict_by_model
(
ref_date
:
str
,
def
predict_by_model
(
ref_date
:
str
,
alpha_model
:
ModelBase
,
alpha_model
:
ModelBase
,
data_meta
:
DataMeta
=
None
,
data_meta
:
DataMeta
=
None
,
x_values
:
pd
.
DataFrame
=
None
,
x_values
:
pd
.
DataFrame
=
None
,
codes
:
Iterable
[
int
]
=
None
):
codes
:
Iterable
[
int
]
=
None
):
if
x_values
is
None
:
if
x_values
is
None
:
codes
,
x_values
=
fetch_predict_data
(
ref_date
,
alpha_model
,
data_meta
)
predict_data
=
data_meta
.
fetch_predict_data
(
ref_date
,
alpha_model
)
codes
,
x_values
=
predict_data
[
'predict'
][
'code'
],
predict_data
[
'predict'
][
'x'
]
return
pd
.
DataFrame
(
alpha_model
.
predict
(
x_values
)
.
flatten
(),
index
=
codes
)
return
pd
.
DataFrame
(
alpha_model
.
predict
(
x_values
)
.
flatten
(),
index
=
codes
)
...
...
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