elif 'right' in self.keys: action = 3 else: action = 0 actionText = AtariKeyControl.all_action_meanings[action] action2 = 0 if self.meaning_actions.has_key(actionText): action2 = self.meaning_actions[actionText] #print actionText, self.action_meanings[action2] return action2 if __name__ == '__main__': from option import Option sys.argv = argv opt = Option('config.json') gameEnv = AtariEnv.create(opt) if not opt.get('savePath', None): gameControl = AtariKeyControl(gameEnv.get_action_meanings()) bindKeyEvents = True else: from learn import AtariControl AtariControl.initOptions(opt, gameEnv) import tensorflow as tf sess = tf.Session() from net import Net qNetwork = Net(opt, sess, name='QNetwork') # from netComm import buildNet # qNetwork = buildNet(opt, gameEnv, sess) path = opt['savePath'] # save/agent-best saver = tf.train.Saver(qNetwork.params)
def __init__(self, gamma=0.9): # List of all options self.options = \ [Option("left"), Option("up"), Option("right"), Option("down"), Option("topleft->topright"), Option("topleft->botleft"), Option("topright->topleft"), Option("topright->botright"), Option("botleft->topleft"), Option("botleft->botright"), Option("botright->botleft"), Option("botright->topright")] self.gamma = gamma # Discount factor, 0.9 by default as in paper self.current_option = None self.starting_state = None # Starting state of current option self.k = 0 # Number of time steps elapsed in current option self.cumulative_reward = 0 # Total reward for current option # R[s, o] = expected cumulative discounted reward when starting # option o in state s # P[s, o, s'] = multi-time model of ending up in state s' when # starting option o in state s # N[s, o] = number of times option o is taken in state s n_states = 13 * 13 n_options = len(self.options) self.R = np.zeros((n_states, n_options)) self.P = np.zeros((n_states, n_options, n_states)) self.N = np.zeros((n_states, n_options))
user_info = {} if platform.system() == 'Windows': user_info['os'] = 'Windows' elif platform.system() == 'Linux': user_info['os'] = 'Linux' elif platform.system() == 'Darwin': user_info['os'] = 'Darwin' user_info['handle'] = input('* Codeforces Handle: ') mkdir = input('* mkdir option [true/false]: ') while True: if mkdir == 'true' or mkdir == 'false': break mkdir = input('* mkdir option [true/false]: ') if mkdir == 'false': user_info['mkdir'] = False if mkdir == 'true': user_info['mkdir'] = True user_info['dir_name'] = input('* directory name format: ') user_info['source_name'] = input('* source name format: ') crawler = Crawler() option = Option(user_info) Main(crawler, option, user_info).run() except KeyboardInterrupt: print('\n* bye\n')
################################################################################ # Copyright (Python) taegyu <https://github.com/ohseoh31> # # @author taegue ([email protected]) bob7 df # # @brief [jpg, jpeg]file marker parser code with python # # using command : python -i [filename] # ################################################################################ from option import Option if __name__ == "__main__": option = Option() option.get_option() option.do_work()
def starting_kit(self): self.add_option(Option("START", 0 , 520)) self.add_option(Option("SOUND ON/OFF", 1, 480))
def main(): #esto es para centrar la pantalla os.environ['SDL_VIDEO_CENTERED'] = "1" pygame.init() #mouse invisible pygame.mouse.set_visible(0) screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) pygame.display.set_icon(tool.load_image("skyhaw")) pygame.display.set_caption(NAME) f = load_file("options") c = 0 for value in f: c += 1 if c == 1: Options.music = str_to_bool(value) if c == 2: Options.sound = str_to_bool(value) if c == 3: Options.playername = value tool.load_music("music") #aca se controla con un if las opciones de musica on/off if Options.music == True: pygame.mixer.music.play(-1) main_selection = 0 Sea.global_sea = Sea() while not main_selection == 6: main_selection = Menu(screen, ("Jugar", "Historia", "Mejores Puntos", "Opciones", "Ayuda", "Creditos", "Salir"), main_selection).run() if main_selection == 0: dificultad = 0 dificultad = Menu(screen, ("Cadete", "Teniente", "Halcon"), dificultad).run() if (dificultad is not 6): screen = pygame.display.set_mode((800, 200)) puntos = main_loop(dificultad) screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) objScores = Scores(screen, dificultad) objScores.scores, res = objScores.loadNewScore( Options.playername, puntos, dificultad) if (res): objScores.run() elif main_selection == 1: Text(screen, "history").run() #Historia elif main_selection == 2: view = 0 view = Menu(screen, ("Cadete", "Teniente", "Halcon"), view).run() if (view is not 6): Scores(screen, view).run() #Mejores Puntos elif main_selection == 3: Option(screen).run() #Opciones elif main_selection == 4: Text(screen, "help").run() elif main_selection == 5: Text(screen, "credit").run() pygame.display.update() pygame.quit() sys.exit()
def add_option(self, name, *args, **kwargs): an_option = Option(name, *args, **kwargs) setattr(self, name, an_option)
import torch import torchvision import torchvision.transforms as transforms from option import Option def trainval(opt): device = torch.device(opt.device) train_transform = transforms.Compose([transforms.RandomResizedCrop(scale=opt.scale_limit), transforms.RandomHorizontalFlip(), transforms.Normalize(mean=Dataset.mean, std=Dataset.std), transforms.ToTensor()]) val_transform = transforms.Compose([transforms.Normalize(mean=Dataset.mean, std=Dataset.std), transforms.ToTensor()]) if __name__ == '__main__': trainval(Option().parse())
def _setup_auto_help(self): help_option = Option(name='help', doc='print this', default=False) self.definition_source_list.append({'help': help_option})
def __init__(self, options, groups): OptionSuite.__init__(self, options) groups.append( OptionGroup(name='other', title='Other Options', help='Less common options')) options.append( Option('runnr', long_name='--runnr', help='Run number', default=1, type='int')) options.append( Option(long_name='--evtnr', name='evtnr', help='Number of first event', default=1, type='int')) options.append( Option(long_name='--seed', name='seed', help='Random seed', default=None, type='int')) options.append( Option(long_name='--egs_seed_offset', name='egs_seed_offset', help='value to be added to EGS seed (for debugging)', default=0, type='int', group='other')) options.append( Option(long_name='--nshow', name='nshow', help='Number of Showers', default=1, type='int')) options.append( Option(long_name='--no-nkg', name='donkg', help='Run NKG', default=True, action="store_false", group='other')) options.append( Option(long_name='--no-egs', name='doegs', help='Run EGS', default=True, action="store_false", group='other')) options.append( Option(long_name='--eslope', name='eslope', help='CR spectral index (only if ranpri=0)', default=-2.7, type='float')) options.append( Option(long_name='--prmpar', name='prmpar', help='CR primary type', default=14, type='int')) options.append( Option(long_name='--theta-min', name='cthmin', help='Min theta of injected cosmic rays', default=0.0, type='float')) options.append( Option(long_name='--theta-max', name='cthmax', help='Max theta of injected cosmic rays', default=65., type='float')) options.append( Option(long_name='--phi-min', name='cphmin', help='Min phi of injected cosmic rays', default=0.0, type='float')) options.append( Option(long_name='--phi-max', name='cphmax', help='Max phi of injected cosmic rays', default=360.0, type='float')) options.append( Option(long_name='--emin', name='emin', help='CR min energy', default=600., type='float')) options.append( Option(long_name='--emax', name='emax', help='CR max energy', default=1.e11, type='float')) options.append( Option(long_name='--ecuts1', name='ecuts1', help='hadron min energy (see corsika docs)', default=0.1, type='float', group='other')) options.append( Option(long_name='--ecuts2', name='ecuts2', help='muon min energy (see corsika docs)', default=0.1, type='float', group='other')) options.append( Option(long_name='--ecuts3', name='ecuts3', help='electron min energy (see corsika docs)', default=0.00025, type='float', group='other')) options.append( Option(long_name='--ecuts4', name='ecuts4', help='photon min energy (see corsika docs)', default=0.00025, type='float', group='other')) options.append( Option(long_name='--nuaddi', name='nuaddi', help='additional information for neutrinos', default=False, action="store_true", group='other')) options.append( Option(long_name='--muaddi', name='muaddi', help='additional information for muons', default=False, action="store_true", group='other')) options.append( Option(long_name='--emaddi', name='emaddi', help='additional information for EM particles', default=False, action="store_true", group='other')) options.append( Option(long_name='--obslev', name='obslev', help='distance above sea level (in cm)', type=float, default=2837.e2)) options.append( Option(long_name='--length', name='length', help='length of generation cylinder in m ' '(for detcfg = length/2*radius calculation)', default=1400., type='float')) options.append( Option(long_name='--radius', name='radius', help='radius of generation cylinder in m ' '(for detcfg = length/2*radius calculation)', default=700., type='float')) options.append( Option(long_name='--kcut', name='kcut', help='minimum neutrino energy required to keep the shower', default=None, type='float', group='other')) options.append( Option( long_name='--save-long', name='save_long', help= 'Save the longitudinal profile in output file (LONG blocks).', default=False, action="store_true", group='other')) options.append( Option(long_name='--long-step', name='long_step', help='Step size in longitudinal distributions', default=20., type='float', group='other')) options.append( Option(long_name='--arrang', name='arrang', help='Rotation of detector relative to magnetic ' 'field direction (in degrees)', default=0., type='float', group='other')) options.append( Option(long_name='--debug', name='debug', help='Enable disable debug mode', default=False, action="store_true", group='other')) options.append( Option(long_name='--hi-low', name='hi_low', help='Transition Energy between Models', default=None, type='float', group='other')) options.append( Option( long_name='--mag-vertical', name='mag_vertical', help= 'Magnetic field vertical component (micro-Tesla). The default is for South Pole.', default=16.4, type='float')) options.append( Option( long_name='--mag-horizontal', name='mag_horizontal', help= 'Magnetic field horizontal component (micro-Tesla). The default is for South Pole.', default=-53.4, type='float')) options.append( Option(long_name='--fix-height', name='fixhei', help='Fix height of first interaction.', default=None, type='float', group='other')) options.append( Option(long_name='--fixchi', name='fixchi', help='Starting altitude of primary particle.', default=None, type='float', group='other'))
"/text", "textarea", ) reoptions = [('s', 'dotall', 'Dot Match All'), ('i', 'ignorecase', 'Case Insensitive'), ('m', 'multiline', '^$ at line breaks'), ('x', 'verbose', 'Free-Spacing'), ('u', 'unicode', 'Unicode')] funcs = [ '', 'Import regex library', 'If/else branch whether the regex matches (part of) a string' ] langs = ('python', ) app = web.application(urls, globals()) flag = Option() text = TextArea() env = Environment(loader=PackageLoader('index', 'templates')) #the home page(the only page) class index: def GET(self): template = env.get_template('index.html') return template.render(reoptions=reoptions, functions=funcs, langs=langs) #when option changes in the front, class options:
def gen_global(self): content = ['#include "const.h"'] package_children = [] package_list = ['NATIVE Package PACKAGES[] = {'] for package in self.packages: child_packages = [] child_classes = [] for child in package.children.values(): if isinstance(child, Package): child_packages.append(child) else: child_classes.append(child) name = package.qualified_name.replace('.', '_') if not name: name = "_root" package_children.append('int ' + name + '_packages[] = {' + ', '.join( str(self.packages.index(p)) for p in child_packages) + '};') package_children.append('int ' + name + '_classes[] = {' + ', '.join( str(self.classes.index(c)) for c in child_classes) + '};') package_list.append( ' {' + '"{}", {}, {}_packages, {}, {}_classes'.format( package.qualified_name, len(child_packages), name, len(child_classes), name) + '},') package_list.append('};') content.extend(package_children) content.extend(package_list) externals = set() method_assigns = {} # class_assigns = [] class_children = [] class_list = ['NATIVE Class CLASSES[] = {'] class_ids = [] for i, cls in enumerate(self.classes): superclasses = cls.superclasses cls_name = cls.qualified_name.replace('.', '_') if cls.is_native: class_ids.append('int {}_id = {};'.format(cls_name, i)) class_children.append('int ' + cls_name + '_superclasses[] = {' + ', '.join( str(self.classes.index(s)) for s in superclasses) + '};') class_children.append('Method ' + cls_name + '_methods[] = {') assigns = [] method_assigns[cls_name + '_methods'] = assigns for method in cls.inherited_methods: externals.add('extern int ' + mangle_method_name(method) + ';') sig = ', '.join(str(p.type) for p in method.parameters) class_children.append( ' {' + '"{}", {}, {}, "{}", NULL'.format( method.name, self.classes.index(method.owner), 0, sig) + '},') assigns.append(mangle_method_name(method)) class_children.append('};') flag = 0 if cls.is_interface: flag |= 1 if cls.is_abstract: flag |= 2 if cls.is_native: flag |= 4 # new_method = cls.qualified_name.replace('.', '_') + '_new' # externals.add('extern int ' + new_method + ';') # class_assigns.append(new_method) class_list.append( ' {' + '"{}", {}, {}, {}, {}_superclasses, {}, {}_methods'.format( cls.qualified_name, i, flag, len(superclasses), cls_name, len(cls.inherited_methods), cls_name) + '},') class_list.append('};') content.extend(class_ids) content.extend(externals) content.extend(class_children) content.extend(class_list) content.append('NATIVE void initConst() {') # for i, v in enumerate(class_assigns): # content.append(' CLASSES[{}].new = &{};'.format(i, v)) for k, l in method_assigns.items(): for i, v in enumerate(l): content.append(' {}[{}].func = &{};'.format(k, i, v)) content.append('}') with open(Option().const_file, 'w') as f: f.write('\n'.join(content))
from setup import * from option import Option from draw_text import * import time # Starting Menu options = [ Option("New Game", (140, 100), menu_font, screen), Option("Load Game", (140, 150), menu_font, screen), Option("Options", (140, 200), menu_font, screen) ] selection = " " selection_made = False while not selection_made: event = pygame.event.wait() screen.fill((0, 0, 0)) if event.type == pygame.QUIT: selection_made = True game_over = True elif event.type == pygame.MOUSEBUTTONUP: pos = pygame.mouse.get_pos() for option in options: if option.rect.collidepoint(pygame.mouse.get_pos()): option.hovered = True if option.is_clicked() is True: selection = option.text selection_made = True
def _load_parameter(self): self._opt = Option( f'{os.path.dirname(os.path.realpath(__file__))}/conf/conf.json') self._logger = get_logger('MailDog')
logger.info( '||==>Val Epoch: Val_best_acc_index={}\tVal_best_acc={:.4f}\n'. format(val_best_acc_index, val_best_acc)) # break return val_best_acc if __name__ == '__main__': parser = argparse.ArgumentParser(description='Transfer') parser.add_argument( 'conf_path', type=str, metavar='conf_path', help='the path of config file for training (default: 64)') argparses = parser.parse_args() args = Option(argparses.conf_path) args.set_save_path() # args = parse_args() best_val_acc_list = [] logger = None temp = args.outpath for i in range(1, args.repeat + 1): if args.repeat != 1: args.outpath = temp + "_{:02d}".format(i) output_process(args.outpath) write_settings(args) logger = get_logger(args.outpath, 'attention_transfer_{:02d}'.format(i)) if i == 1:
def __init__(self, options, groups, version=None): OptionSuite.__init__(self, options) if version is None: version = get_version() from .coconut_options import CoconutOptionCollection self.coconut_options = CoconutOptionCollection(version) options.append( Option(long_name='--version', name='version', help='Corsika version', default='v6900')) options.append( Option( long_name='--platform', name='platform', help= 'Compiler platform. This is usually just a tag for the tarball.', default='Linux')) options.append( Option(long_name='--fluka-tarball', name='fluka_tarball', help='Fluka tarball.', default=None)) options.append( Option( long_name='--old-names', name='old_names', action='store_true', help= 'Use old naming convention for executables\nUses corsika73700Linux_SIBYLL_gheisha instead of corsika73700Linux_1_6_1_1', default=False)) required = ('float', 'he_model', 'le_model', 'geometry') titles = {g: '' for g in self.coconut_options.option_groups} titles.update({ 'float': '32/64 bit compile option', 'he_model': 'High-energy hadronic model', 'le_model': 'Low-energy hadronic model', 'geometry': 'Detector geometry', 'other': 'Other compilation options' }) defaults = {g: None for g in self.coconut_options.option_groups} defaults.update({'float': 'float_default'}) for g in required: choices = [ o.name for n, o in self.coconut_options.options.iteritems() if o.group == g ] options.append( Option(g, long_name='--' + g.replace('_', '-'), choices=choices, default=defaults[g], help=titles[g] + '. One of: %s' % (', '.join(choices)))) for g in self.coconut_options.option_groups: if not g in required: groups.append(OptionGroup(name=g, title=titles[g])) for n, o in self.coconut_options.options.iteritems(): if not o.group in required: options.append( Option(long_name='--' + o.name.replace('_', '-'), help=o.help, name=o.group, action='append_const', const=o.name, group=o.group))
def __init__(self, opt_name: str): super().__init__() self.opt = Option(opt_name)
def load_comparator(self): self.ComparatorOption = { 0: Option(0, "comparator", "Comparator", ">", 0, "Bigger"), 1: Option(1, "comparator", "Comparator", "<", 1, "Smaller"), }
def __get_default_tree(self): Option.id = 0 root = Option(Menu.__ROOT_OPTION_TEXT, Menu.__ACTION_SELECTION_PROMPT) root.add_children( Option('Arbitrage bets', Menu.__SPORT_SELECTION_PROMPT).add_children( Option( 'Counter-Strike: Global Offensive', '*Counter-Strike: Global Offensive arbitrage bets*', True), Option('Dota 2', '*Dota 2 arbitrage bets*', True), Option('League of Legends', '*League of Legends arbitrage bets*', True), Option('Football', '*Football arbitrage bets*', True), Option(self.go_back_option_text, Menu.__SPORT_SELECTION_PROMPT)), Option('Subscribe', Menu.__SPORT_SELECTION_PROMPT).add_children( Option( 'Counter-Strike: Global Offensive', '*Successfully subscribed to Counter-Strike: Global Offensive*', False, self.user.subscribe, 'csgo'), Option('Dota 2', '*Successfully subscribed to Dota 2*', False, self.user.subscribe, 'dota'), Option('League of Legends', '*Successfully subscribed to League of Legends*', False, self.user.subscribe, 'lol'), Option('Football', '*Successfully subscribed to Football*', False, self.user.subscribe, 'football'), Option(self.go_back_option_text, Menu.__SPORT_SELECTION_PROMPT)), Option('Unsubscribe', Menu.__SPORT_SELECTION_PROMPT).add_children( Option( 'Counter-Strike: Global Offensive', '*Successfully unsubscribed from Counter-Strike: Global Offensive*', False, self.user.unsubscribe, 'csgo'), Option('Dota 2', '*Successfully unsubscribed from Dota 2*', False, self.user.unsubscribe, 'dota'), Option('League of Legends', '*Successfully unsubscribed from League of Legends*', False, self.user.unsubscribe, 'lol'), Option('Football', '*Successfully unsubscribed from Football*', False, self.user.unsubscribe, 'football'), Option(self.go_back_option_text, Menu.__SPORT_SELECTION_PROMPT)), Option( 'Show my subscriptions', Menu.__SHOW_SUBSCRIPTIONS_PROMPT, False, lambda user: '******' + '\n'.join([ SPORT_SHORT_NAMES_TO_FULL[sub] for sub in user.subscriptions ]) + '*', self.user)) return root
def load_flop(self): self.FlopOption = { True: Option(True, "flop", "Flop", True, 0, "True"), False: Option(False, "flop", "Flop", False, 1, "False"), }
from termcolor import colored from menu import Menu from onlinedico import dictionary_search from option import Option from scrabble import scrabble msg_color = 'blue' def print_msg(msg): print('*******************************************************') print('\t', colored(msg, msg_color)) print('*******************************************************') def search(): word = input('mot recherché : ') dictionary_search(word) if __name__ == '__main__': print_msg('Python : Scrabble => Dictionnaire (en ligne)') menu = Menu([ Option('Scrabble (mots possibles)', scrabble), Option('Chercher dans Dictionnaires', search) # , Option('Tests', test) ]) while not menu.want_exit: menu.show() print('*******************************************************')
def add_option(self, side, option_type, strike, price): option = Option(side, option_type, strike, price) self.options.append(option) self.set_min_max(option.minimum, option.maximum)
def get_options(self, node, option, mapping={}, text=""): node.add_options(Option(option, node, mapping, text))
def __init__(self, parent=None): super().__init__(parent) self.setWindowTitle('ConvertAll') modPath = os.path.abspath(sys.path[0]) if modPath.endswith('.zip'): # for py2exe modPath = os.path.dirname(modPath) iconPathList = [ iconPath, os.path.join(modPath, 'icons/'), os.path.join(modPath, '../icons') ] self.icons = icondict.IconDict() self.icons.addIconPath([path for path in iconPathList if path]) try: QApplication.setWindowIcon(self.icons['convertall_med']) except KeyError: pass self.helpView = None self.basesDialog = None self.fractionDialog = None self.option = Option('convertall', 20) self.option.loadAll(optiondefaults.defaultList) self.recentUnits = recentunits.RecentUnits(self.option) try: num = ConvertDlg.unitData.readData() except unitdata.UnitDataError as text: QMessageBox.warning(self, 'ConvertAll', _('Error in unit data - {0}').format(text)) sys.exit(1) try: print(_('{0} units loaded').format(num)) except UnicodeError: print('{0} units loaded'.format(num)) self.fromGroup = UnitGroup(ConvertDlg.unitData, self.option) self.toGroup = UnitGroup(ConvertDlg.unitData, self.option) self.origPal = QApplication.palette() self.updateColors() self.unitButtons = [] self.textButtons = [] topLayout = QHBoxLayout(self) # divide main, buttons mainLayout = QVBoxLayout() mainLayout.setSpacing(8) topLayout.addLayout(mainLayout) unitLayout = QGridLayout() # unit selection unitLayout.setVerticalSpacing(3) unitLayout.setHorizontalSpacing(20) mainLayout.addLayout(unitLayout) fromLabel = QLabel(_('From Unit')) unitLayout.addWidget(fromLabel, 0, 0) self.fromUnitEdit = unitedit.UnitEdit(self.fromGroup) unitLayout.addWidget(self.fromUnitEdit, 1, 0) self.fromUnitEdit.setFocus() toLabel = QLabel(_('To Unit')) unitLayout.addWidget(toLabel, 0, 1) self.toUnitEdit = unitedit.UnitEdit(self.toGroup) unitLayout.addWidget(self.toUnitEdit, 1, 1) self.fromUnitEdit.gotFocus.connect(self.toUnitEdit.setInactive) self.toUnitEdit.gotFocus.connect(self.fromUnitEdit.setInactive) vertButtonLayout = QVBoxLayout() vertButtonLayout.setSpacing(2) mainLayout.addLayout(vertButtonLayout) self.unitListView = unitlistview.UnitListView(ConvertDlg.unitData) mainLayout.addWidget(self.unitListView) self.fromUnitEdit.currentChanged.connect( self.unitListView.updateFiltering) self.toUnitEdit.currentChanged.connect( self.unitListView.updateFiltering) self.fromUnitEdit.keyPressed.connect(self.unitListView.handleKeyPress) self.toUnitEdit.keyPressed.connect(self.unitListView.handleKeyPress) self.unitListView.unitChanged.connect(self.fromUnitEdit.unitUpdate) self.unitListView.unitChanged.connect(self.toUnitEdit.unitUpdate) self.unitListView.haveCurrentUnit.connect(self.enableButtons) self.unitListView.setFocusPolicy(Qt.NoFocus) textButtonLayout = QHBoxLayout() textButtonLayout.setSpacing(6) vertButtonLayout.addLayout(textButtonLayout) textButtonLayout.addStretch(1) self.textButtons.append(QPushButton('{0} (^2)'.format(_('Square')))) self.textButtons.append(QPushButton('{0} (^3)'.format(_('Cube')))) self.textButtons.append(QPushButton('{0} (*)'.format(_('Multiply')))) self.textButtons.append(QPushButton('{0} (/)'.format(_('Divide')))) for button in self.textButtons: button.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) button.setFocusPolicy(Qt.NoFocus) textButtonLayout.addWidget(button) button.clicked.connect(self.unitListView.addUnitText) textButtonLayout.addStretch(1) unitButtonLayout = QHBoxLayout() unitButtonLayout.setSpacing(6) vertButtonLayout.addLayout(unitButtonLayout) unitButtonLayout.addStretch(1) self.clearButton = QPushButton(_('Clear Unit')) self.clearButton.clicked.connect(self.unitListView.clearUnitText) self.recentButton = QPushButton(_('Recent Unit')) self.recentButton.clicked.connect(self.recentMenu) self.filterButton = QPushButton(_('Filter List')) self.filterButton.clicked.connect(self.filterMenu) self.unitButtons = [ self.clearButton, self.recentButton, self.filterButton ] for button in self.unitButtons: button.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) button.setFocusPolicy(Qt.NoFocus) unitButtonLayout.addWidget(button) unitButtonLayout.addStretch(1) self.showHideButtons() numberLayout = QGridLayout() numberLayout.setVerticalSpacing(3) mainLayout.addLayout(numberLayout) statusLabel = QLabel(_('Set units')) statusLabel.setFrameStyle(QFrame.Panel | QFrame.Sunken) mainLayout.addWidget(statusLabel) fromNumLabel = QLabel(_('No Unit Set')) numberLayout.addWidget(fromNumLabel, 0, 0) self.fromNumEdit = numedit.NumEdit(self.fromGroup, self.toGroup, fromNumLabel, statusLabel, self.recentUnits, True) numberLayout.addWidget(self.fromNumEdit, 1, 0) self.fromUnitEdit.unitChanged.connect(self.fromNumEdit.unitUpdate) self.fromNumEdit.gotFocus.connect(self.fromUnitEdit.setInactive) self.fromNumEdit.gotFocus.connect(self.toUnitEdit.setInactive) self.fromNumEdit.gotFocus.connect(self.unitListView.resetFiltering) self.fromNumEdit.setEnabled(False) equalsLabel = QLabel(' = ') equalsLabel.setFont(QFont(self.font().family(), 20)) numberLayout.addWidget(equalsLabel, 0, 1, 2, 1) toNumLabel = QLabel(_('No Unit Set')) numberLayout.addWidget(toNumLabel, 0, 3) self.toNumEdit = numedit.NumEdit(self.toGroup, self.fromGroup, toNumLabel, statusLabel, self.recentUnits, False) numberLayout.addWidget(self.toNumEdit, 1, 3) self.toUnitEdit.unitChanged.connect(self.toNumEdit.unitUpdate) self.toNumEdit.gotFocus.connect(self.fromUnitEdit.setInactive) self.toNumEdit.gotFocus.connect(self.toUnitEdit.setInactive) self.toNumEdit.gotFocus.connect(self.unitListView.resetFiltering) self.toNumEdit.setEnabled(False) self.fromNumEdit.convertNum.connect(self.toNumEdit.setNum) self.toNumEdit.convertNum.connect(self.fromNumEdit.setNum) self.fromNumEdit.convertRqd.connect(self.toNumEdit.convert) self.toNumEdit.convertRqd.connect(self.fromNumEdit.convert) buttonLayout = QVBoxLayout() # major buttons topLayout.addLayout(buttonLayout) closeButton = QPushButton(_('&Close')) buttonLayout.addWidget(closeButton) closeButton.setFocusPolicy(Qt.NoFocus) closeButton.clicked.connect(self.close) optionsButton = QPushButton(_('&Options...')) buttonLayout.addWidget(optionsButton) optionsButton.setFocusPolicy(Qt.NoFocus) optionsButton.clicked.connect(self.changeOptions) basesButton = QPushButton(_('&Bases...')) buttonLayout.addWidget(basesButton) basesButton.setFocusPolicy(Qt.NoFocus) basesButton.clicked.connect(self.showBases) fractionsButton = QPushButton(_('&Fractions...')) buttonLayout.addWidget(fractionsButton) fractionsButton.setFocusPolicy(Qt.NoFocus) fractionsButton.clicked.connect(self.showFractions) helpButton = QPushButton(_('&Help...')) buttonLayout.addWidget(helpButton) helpButton.setFocusPolicy(Qt.NoFocus) helpButton.clicked.connect(self.help) aboutButton = QPushButton(_('&About...')) buttonLayout.addWidget(aboutButton) aboutButton.setFocusPolicy(Qt.NoFocus) aboutButton.clicked.connect(self.about) buttonLayout.addStretch() if self.option.boolData('RemenberDlgPos'): xSize = self.option.intData('MainDlgXSize', 0, 10000) ySize = self.option.intData('MainDlgYSize', 0, 10000) if xSize and ySize: self.resize(xSize, ySize) self.move(self.option.intData('MainDlgXPos', 0, 10000), self.option.intData('MainDlgYPos', 0, 10000)) if self.option.boolData('LoadLastUnit') and len(self.recentUnits) > 1: self.fromGroup.update(self.recentUnits[0]) self.fromUnitEdit.unitUpdate() self.toGroup.update(self.recentUnits[1]) self.toUnitEdit.unitUpdate() self.unitListView.updateFiltering() self.fromNumEdit.setFocus() self.fromNumEdit.selectAll() if self.option.boolData('ShowStartupTip'): self.show() tipDialog = TipDialog(self.option, self) tipDialog.exec_()
def __init__(self, gamma=0.9): self.options = \ [Option("left"), Option("up"), Option("right"), Option("down"), Option("topleft->topright"), Option("topleft->botleft"), Option("topright->topleft"), Option("topright->botright"), Option("botleft->topleft"), Option("botleft->botright"), Option("botright->botleft"), Option("botright->topright")] self.gamma = gamma self.current_option = None # Keep track of action number corresponding to last action taken self.last_action_taken = None n_states = 13 * 13 n_options = len(self.options) self.R = np.zeros((n_states, n_options)) self.P = np.zeros((n_states, n_options, n_states)) self.N = np.zeros((n_states, n_options))
import json import time from boj import Boj from option import Option from git import Git sess = requests.Session() if __name__ == "__main__": #python main.py 1000.cpp 1000 | python main.py filename problem_number if len(sys.argv) != 3: print("\nError Input") print("ex) python main.py (filename) (problem number)\n") exit(1) option = Option() error, result = Option().run() if error: exit(1) boj = Boj(sess, result, sys.argv) result = boj.run() if result: print("Wrong Answer") exit(2) git = Git(boj) error, result = git.run() if error: print(result)
if __name__ == '__main__': import h5py from rttov_gui_f2py import rttov_gui_load, rttov_gui_get_emisbrdf from profile import Profile, getNumberOfProfiles from option import Option from reflectance import Reflectance fileName = "../rttov_tests/AA_preproCf_44L.H5" # Lecture du profil numero 2 et des options nprof = getNumberOfProfiles(fileName) print "number of profiles found :", nprof p1 = Profile() o1 = Option() iprof = 2 p1.loadProfileNumber(file, iprof) f = h5py.File(file, 'r') h5 = f['/OPTIONS/'] o1.loadh5(h5) f.close() # changer latitude longitude date et type de surface p1['LATITUDE'] = 45.0 p1['LONGITUDE'] = 5.0 p1['DATE'] = (2012, 7, 1) p1['SKIN']['SURFTYPE'] = 0 p1['AZANGLE'] = 45.0
def main(user, executeTrades, timeInterval, test): # TODO: use executeTrades flag to decide whether to trade automatically # TODO: execute trades automatically if profit > margin or delta gap > margin # TODO: setup tracking for a purchased strangle (i.e. email if profit > margin, or earnings is the next day, or delta spread is large) # TODO: analysis tools (option price vs xsigma over time, line for stock price, bar for earnings date), (option prices at different strikes over time), (option price vs delta over time) if test: print("--------------TEST MODE--------------") print(user, executeTrades, timeInterval) while True: cal = USTradingCalendar() eastern = timezone("US/Eastern") currentTime = datetime.datetime.now(eastern) currentDate = datetime.date.today() easternHour = currentTime.hour easternMinute = currentTime.minute isDuringMarketHours = (easternHour == 6 and easternMinute > 30) or ( easternHour > 6 and easternHour < 16) isWeekday = currentDate.isoweekday() in range(1, 6) isTradingHoliday = currentDate in cal.holidays( start=currentDate, end=currentDate + datetime.timedelta(days=1)) if (not isDuringMarketHours or not isWeekday or isTradingHoliday) and (not test): print(datetime.datetime.now()) print( "It is either not during market hours or is a holiday. Sleeping until next observation..." ) time.sleep(60 * timeInterval) continue if not test: print("Connecting to IB...") ib = ibUtils.connect() for symbol in TESTING_WATCH_LIST: print("\nSymbol:", symbol) print(datetime.datetime.now()) print("Getting contract...") if not test: contract = ibUtils.getStockQualifiedContract(symbol, ib) print("Getting ticker...") if not test: ticker = ibUtils.getTicker(contract, ib) print("Getting earnings date...") if not test: earningsDate = ibUtils.getNextEarningsDate(contract, ib) print("..................................") else: earningsDate = datetime.date(2018, 10, 23) if not test: stockPrice = ticker.marketPrice() print("Getting option details...") nextExpiry, optionTickers = ibUtils.getOptions( contract, stockPrice, earningsDate, ib) else: stockPrice = 23.53 nextExpiry = datetime.date(2018, 11, 16) hv2yr = get2yrVolatility(symbol) stock = Stock(symbol, stockPrice) if not test: options = [] for optionTicker in optionTickers: options.append( Option(hv2yr, optionTicker.contract.strike, optionTicker.contract.right == 'C', optionTicker.bid, optionTicker.ask, nextExpiry)) else: options = [ Option(hv2yr, 22.0, True, 3.30, 3.35, nextExpiry), Option(hv2yr, 23.0, True, 3.30, 3.35, nextExpiry), Option(hv2yr, 24.0, True, 3.30, 3.35, nextExpiry), Option(hv2yr, 25.0, True, 3.30, 3.35, nextExpiry), Option(hv2yr, 22.0, False, 3.30, 3.35, nextExpiry), Option(hv2yr, 23.0, False, 3.30, 3.35, nextExpiry), Option(hv2yr, 24.0, False, 3.30, 3.35, nextExpiry), Option(hv2yr, 25.0, False, 3.30, 3.35, nextExpiry) ] for option in options: option.setDaySigma(stock) option.setDelta(stock, hv2yr) option.setTimeDecay(stock) # TODO: compute delta for options cwd = os.getcwd() if not test: traderPath = os.path.join(cwd, user) else: testPath = os.path.join(cwd, "test") traderPath = os.path.join(testPath, user) testExists = os.path.isdir(testPath) if not testExists: os.mkdir(testPath) stockPath = os.path.join(traderPath, symbol) earningsDatePath = os.path.join(stockPath, earningsDate.strftime("%d%b%Y")) expiryDatePath = os.path.join(earningsDatePath, nextExpiry.strftime("%d%b%Y")) traderExists = os.path.isdir(traderPath) stockExists = os.path.isdir(stockPath) earningsDateExists = os.path.isdir(earningsDatePath) expiryDateExists = os.path.isdir(expiryDatePath) if not traderExists: os.mkdir(traderPath) if not stockExists: os.mkdir(stockPath) if not earningsDateExists: os.mkdir(earningsDatePath) if not expiryDateExists: os.mkdir(expiryDatePath) for option in options: if option.daySigma == None: print("DaySIgma") continue putCall = "call" if option.call else "put" optionPath = os.path.join( expiryDatePath, putCall + "_" + str(option.strike) + ".csv") optionExists = os.path.exists(optionPath) date = datetime.datetime.now().strftime("%d%b%Y%H%M%S") if not optionExists: df = pd.DataFrame(columns=[ "Datetime", "StockPrice", "OptionPrice", "XSigma", "Delta", "TimeDecayOneDay" ]) df.to_csv(optionPath, index=False) df = pd.read_csv(optionPath) df = df.append(pd.Series( { "Datetime": date, "StockPrice": stock.currentPrice, "OptionPrice": option.cost, "XSigma": option.daySigma / hv2yr, "Delta": option.delta, "TimeDecayOneDay": option.timeDecay }, name=date), ignore_index=True) df.to_csv(optionPath, index=False) ib.disconnect() print("Sleeping between observations...\n") ib.sleep(60 * timeInterval)
# -*- coding: utf-8 -*- """ Created on Wed Mar 20 19:47:43 2019 @author: zhxsking """ import torch import matplotlib.pyplot as plt import numpy as np from option import Option opt = Option() state1 = torch.load(r"data\{}\final-unet.pkl".format(opt.name)) state2 = torch.load(r"data\{}\best-unet.pkl".format(opt.name)) loss_list_train = state1['loss_list_train'] loss_list_val = state1['loss_list_val'] dice_list_train = state1['dice_list_train'] dice_list_val = state1['dice_list_val'] best_dice = state2['best_dice'] best_epoch = state2['best_epoch'] #%% 画训练模型loss及dice图 fig = plt.figure(figsize=(20, 8)) plt.subplot(121) plt.plot(np.arange(1, 101), loss_list_train) plt.plot(np.arange(1, 101), loss_list_val)
def test_no_init(is_some): with pytest.raises(TypeError): if is_some: Option(1, True) else: Option(None, False)