mirror of
https://github.com/thomashirtz/portfolio-management.git
synced 2022-03-03 23:56:42 +03:00
Fix lint
This commit is contained in:
@@ -4,6 +4,7 @@ from sqlalchemy import String
|
||||
from sqlalchemy import DateTime
|
||||
from sqlalchemy import Integer
|
||||
from sqlalchemy import ForeignKey
|
||||
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
# Data variables
|
||||
OPEN_TIME = 'open_time'
|
||||
CLOSE_TIME = 'close_time'
|
||||
DATA = 'data'
|
||||
|
||||
# Coordinates
|
||||
SYMBOL = 'symbol'
|
||||
PROPERTY = 'property'
|
||||
INTERVAL = 'interval'
|
||||
VALUE = 'value'
|
||||
DATA = 'data'
|
||||
INDEX = 'index'
|
||||
|
||||
# Attributes
|
||||
INTERVAL = 'interval'
|
||||
|
||||
# Others
|
||||
VALUE = 'value'
|
||||
PROPERTY_LIST = [
|
||||
'open',
|
||||
'high',
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
from typing import List
|
||||
from typing import Optional
|
||||
from pathlib import Path
|
||||
|
||||
from sqlalchemy import inspect
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
|
||||
import portfolio_management.paths as p
|
||||
|
||||
from portfolio_management.io_utilities import write_yaml
|
||||
from portfolio_management.io_utilities import create_folders
|
||||
|
||||
@@ -22,7 +24,6 @@ from portfolio_management.database.utilities import session_scope
|
||||
from portfolio_management.database.utilities import get_engine_url
|
||||
from portfolio_management.database.utilities import try_insert
|
||||
from portfolio_management.database.utilities import silent_bulk_insert
|
||||
import portfolio_management.paths as p
|
||||
|
||||
|
||||
class Manager:
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
from typing import List
|
||||
from typing import Optional
|
||||
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
import xarray as xr
|
||||
import numpy as np
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
import portfolio_management.paths as p
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from typing import Type
|
||||
from typing import List
|
||||
from pathlib import Path
|
||||
|
||||
from contextlib import contextmanager
|
||||
|
||||
from sqlalchemy import create_engine
|
||||
|
||||
@@ -8,8 +8,9 @@ from gym.utils import seeding
|
||||
import numpy as np
|
||||
from scipy.special import softmax
|
||||
|
||||
from portfolio_management.database import constants as c
|
||||
from portfolio_management import paths as p
|
||||
from portfolio_management.database import constants as c
|
||||
|
||||
from portfolio_management.environment.data import get_dataset
|
||||
from portfolio_management.environment.market import Market
|
||||
from portfolio_management.environment.portfolio import Portfolio
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from typing import Union
|
||||
from typing import List
|
||||
|
||||
import numpy as np
|
||||
|
||||
from portfolio_management.environment.utilities import loguniform
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import os
|
||||
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' # noqa Remove 'Successfully opened dynamic library' tensorflow warning
|
||||
|
||||
import numpy as np
|
||||
from pathlib import Path
|
||||
from pathlib import PurePath
|
||||
|
||||
from typing import Optional
|
||||
from typing import Sequence
|
||||
from typing import Union
|
||||
from typing import Tuple
|
||||
|
||||
import numpy as np
|
||||
from pathlib import Path
|
||||
from pathlib import PurePath
|
||||
|
||||
import torch
|
||||
import torch.optim as optim
|
||||
import torch.nn.functional as F # noqa : N812
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
|
||||
from typing import List
|
||||
from typing import Tuple
|
||||
from typing import Optional
|
||||
from typing import Sequence
|
||||
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
|
||||
from portfolio_management.soft_actor_critic.utilities import weight_initialization
|
||||
from portfolio_management.soft_actor_critic.utilities import get_multilayer_perceptron
|
||||
|
||||
|
||||
@@ -1,17 +1,27 @@
|
||||
from typing import Optional
|
||||
from typing import Sequence
|
||||
|
||||
import gym
|
||||
import torch
|
||||
import numpy as np
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
from typing import Sequence
|
||||
|
||||
|
||||
from portfolio_management.soft_actor_critic.agent import Agent
|
||||
|
||||
|
||||
def evaluate(env_name: str, run_name: str, env_kwargs: Optional[dict] = None, num_episodes: int = 5, seed: int = 0,
|
||||
hidden_units: Optional[Sequence[int]] = None, directory: str = '../runs/',
|
||||
deterministic: bool = False, render: bool = False, record: bool = False, **kwargs):
|
||||
def evaluate(
|
||||
env_name: str,
|
||||
run_name: str,
|
||||
env_kwargs: Optional[dict] = None,
|
||||
num_episodes: int = 5,
|
||||
seed: int = 0,
|
||||
hidden_units: Optional[Sequence[int]] = None,
|
||||
directory: str = '../runs/',
|
||||
deterministic: bool = False,
|
||||
render: bool = False,
|
||||
record: bool = False,
|
||||
**kwargs
|
||||
):
|
||||
|
||||
if kwargs:
|
||||
print(f'Unrecognized kwargs : {kwargs}')
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import numpy as np
|
||||
|
||||
from typing import Tuple
|
||||
from typing import Union
|
||||
from typing import Sequence
|
||||
|
||||
import numpy as np
|
||||
|
||||
class ReplayBuffer: # todo maybe do more clean in the future
|
||||
|
||||
class ReplayBuffer: # todo maybe do more clean in the future + random deletion
|
||||
def __init__(self, max_size: int, input_shape: Union[Sequence[int], int], num_actions: int):
|
||||
self.memory_counter = 0
|
||||
self.memory_size = int(max_size)
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
from typing import Optional
|
||||
from typing import Sequence
|
||||
|
||||
import numpy as np
|
||||
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
import torch.nn.functional as F
|
||||
from torch.distributions.normal import Normal
|
||||
|
||||
import numpy as np
|
||||
from typing import Optional
|
||||
from typing import Sequence
|
||||
|
||||
from portfolio_management.soft_actor_critic.utilities import weight_initialization
|
||||
from portfolio_management.soft_actor_critic.utilities import get_multilayer_perceptron
|
||||
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
from typing import Optional
|
||||
from typing import Sequence
|
||||
|
||||
import gym
|
||||
import torch
|
||||
import datetime
|
||||
import numpy as np
|
||||
from pathlib import Path
|
||||
from itertools import count
|
||||
from typing import Optional
|
||||
from typing import Sequence
|
||||
|
||||
from torch.utils.tensorboard import SummaryWriter
|
||||
|
||||
@@ -17,11 +18,26 @@ from portfolio_management.soft_actor_critic.utilities import save_to_writer
|
||||
from portfolio_management.soft_actor_critic.utilities import get_timedelta_formatted
|
||||
|
||||
|
||||
def train(env_name: str, env_kwargs: Optional[dict] = None, batch_size: int = 256, memory_size: int = 10e6,
|
||||
learning_rate: float = 3e-4, alpha: float = 0.05, gamma: float = 0.99, tau: float = 0.005,
|
||||
num_steps: int = 1_000_000, hidden_units: Optional[Sequence[int]] = None, load_models: bool = False,
|
||||
saving_frequency: int = 20, run_name: Optional[str] = None, start_step: int = 1_000, seed: int = 0,
|
||||
updates_per_step: int = 1, directory: str = '../runs/', **kwargs):
|
||||
def train(
|
||||
env_name: str,
|
||||
env_kwargs: Optional[dict] = None,
|
||||
batch_size: int = 256,
|
||||
memory_size: int = 10e6,
|
||||
learning_rate: float = 3e-4,
|
||||
alpha: float = 0.05,
|
||||
gamma: float = 0.99,
|
||||
tau: float = 0.005,
|
||||
num_steps: int = 1_000_000,
|
||||
hidden_units: Optional[Sequence[int]] = None,
|
||||
load_models: bool = False,
|
||||
saving_frequency: int = 20,
|
||||
run_name: Optional[str] = None,
|
||||
start_step: int = 1_000,
|
||||
seed: int = 0,
|
||||
updates_per_step: int = 1,
|
||||
directory: str = '../runs/',
|
||||
**kwargs
|
||||
):
|
||||
|
||||
if kwargs:
|
||||
print(f'Unrecognized kwargs : {kwargs}')
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
from typing import List
|
||||
from typing import Union
|
||||
from typing import Optional
|
||||
|
||||
import datetime
|
||||
from pathlib import Path
|
||||
from contextlib import contextmanager
|
||||
@@ -5,10 +9,6 @@ from contextlib import contextmanager
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
|
||||
from typing import List
|
||||
from typing import Union
|
||||
from typing import Optional
|
||||
|
||||
|
||||
def get_run_name(*arguments, **keyword_arguments) -> str:
|
||||
name = f'{datetime.datetime.now().strftime("%Y%m%d_%H%M%S")}'
|
||||
@@ -69,6 +69,7 @@ def filter_info(dictionary: dict) -> dict:
|
||||
filtered_dictionary[key] = value
|
||||
return filtered_dictionary
|
||||
|
||||
|
||||
def filter_info_step(dictionary: dict) -> dict:
|
||||
filtered_dictionary = {}
|
||||
for key, value in dictionary.items():
|
||||
|
||||
@@ -8,3 +8,5 @@ gym
|
||||
numpy
|
||||
scipy
|
||||
python-binance
|
||||
torch
|
||||
torchsummary
|
||||
|
||||
Reference in New Issue
Block a user