It looks, it's time to start my presentation. So, my presentation is about the type checking for Ruby programs. So, okay, so let me introduce myself. I'm Sotaro Matsumoto. So, my account is that one and you can find me on Twitter or GitHub. So, I'm working as a city or a company, a startup company called SideCI. It is located in Tokyo and our product is called Review Assistant. It analyzes your pre-request automatically and gives you some reviewing suggestions automatically. So, technically, this is a program analysis. So, I have been working for program analysis. It is to reason some properties of your programs without executing it. So, it includes some flow analysis or some of the type checking. So, it was in 2005, I was a graduate student. So, I started studying about the program analysis and then I published some papers about the type checking of Ruby programs. So, I have, in fact, about 10 years of career for this program. So, yeah, yeah. So, let's start about what is that type checking benefits? So, as you know, it helps you to find more bugs without running your tests, without writing your tests. So, if your program contains some invalid method calls, that type checking will tell you. So, if you pass an invalid argument to some method calls, type checking will tell you. So, it helps you to find more bugs in your program. So, another aspect is it is verifiable documentation. So, when you are writing your libraries or you are writing your application code, you see a lot of libraries, I'm sorry, you see a lot of documentations. So, the class documentations and methods documentation. So, you find which methods are available in that class or how can you, how to pass the arguments to that method. So, they are usually written in English or Japanese, so natural language. So, you can read and understand what the methods are, but the computer doesn't. So, with types, as a verifiable documentation, that type checking tool can verify instead of you. It also helps some refactoring. So, when you are working on some legacy code, so you try to refactor some of the code, maybe you change the method signatures or method names. So, after changing your definition of that method, you have to update all of the calling locations on your programs. So, you have to find out every method calls in your code. So, instead of using some graph or running tests, the type checking tool will help you where you have to fix. Another big benefit of type checking is the optimization, but today it is out of scope of my talk, so. So, this is a really short summary of the type checking for Ruby. So, the humans have tried to type check Ruby programs for about 10 years. So, I list here four type checking tools. So, it is developed by some researchers, some students, including me. So, it starts with 27 or 29. I call it, it is the first generation of the type checking tool for Ruby. So, it was focusing to type the objects in Ruby. So, I mean the duck typing. So, the second generation is number three and four listed here, and it is for support the metaprogramming. So, the difficulties for type checking Ruby program is, I list the three difficulties. The first one is type inference. As you know, Ruby is a dynamically typed language, so there is no type annotations included in your Ruby code. So, to check the consistency of the types in your Ruby code, it first to infer the types, how that code, the expressions, the nodes in your program should be typed. So, that type inference is the first difficulty. The second one is that the semantics of the Ruby's object typing. So, I call here the dynamically typed objects or you know that it is a duck typing. So, what is the duck typing is? So, it means that the class of the receiver does not matter when you call some methods. So, this is different from other popular, some of the popular static type languages like Java, Washi, Chef, so you lobbyist, so you love the feature. So, let me explain using the example. So, the right code is to define the right method. So, it receives one argument called IO and using the left shift operator, then bring some string. So, from the point of view with the types, so we can use any object if it supports the left shift operator. So, we can use the right method for IO's files or you can try the string IO objects. You can try the string and in fact we can try with the array. So, they all have the left shift operator and we can use for that. So, to support that duck typing semantics. So, I'd like to introduce a paper. It is static type inference for Ruby. It's published in 2009 by Professor Foster and maybe his students. So, it is based on the structure of subtyping and it needs some annotations for polymorphic method. So, I found one week ago that the implementation is still available on GitHub so we can try to build that tool called the Diamondback Ruby. So, what is structure subtyping? It is subtyping with the structure relation identification. So, yeah, let's see the example. So, this is that the right method has that type it is shown in the left. So, it takes one argument of an object. It should have a left shift operator and it should take the string argument. The return type of that left shift operator is not used at all in the method. So, it is written using the variable A. So, let's see how we can type checks that method calls. Like this. So, this is a first example. It pass a string. So, it checks the type of the string, the definition of the string class objects. So, it finds there is a left shift operator in that definitions. So, the typing is okay. How about string IO? It also has the left shift operator. It's okay too. It returns the string IO, but the return type of the left shift operator is not used at all in the right method. So, it doesn't matter. But, how about we pass a true? It is a true class. So, we cannot find any left shift operator in the definition of the true class. So, this is a type error. How about integer? It has a left shift operator, but the argument is a integer. So, we cannot use that integer to pass, we cannot pass the integer object to the right method. So, this is a very easy explanation of how structural subtyping is. So, the diamond back Ruby is based on the structural subtyping, and it can infer some types of Ruby programs. But, there is a big limitation that it cannot infer the polymorphic method. So, this is an example of the polymorphic Ruby programs, like that ID method takes one argument and returns that argument immediately. So, the first line is ID new of ID three will be number three. So, we can calculate three plus three will be six. And, the next one is we pass a string. So, the type of the ID of who is a string. So, string concatenation also works. So, there is no type error in this program. But, because the diamond Ruby cannot infer the polymorphic method, so it saves some type errors. So, if we want to define a polymorphic type method, we have to write some annotations in our Ruby code. So, this is my paper in fact. So, it's type inference for Ruby programs based on polymorphic code types. It was published in 2007. And, my paper is to infer the polymorphic method types for Ruby programs. So, it is based on ML type inference. ML is not machine learning. It is meta language, programming language. So, we used an encoding of polymorphic record types to represent the type of Ruby object. So, I believe it works, but there is also a big limitation that it cannot type some Ruby built-ins. So, some Ruby built-ins includes an array hash map. So, our type system cannot give a type to array mesh. So, then we have a conclusion like this. So, we can give types to Ruby's object using structural subtyping or maybe polymorphic record types. So, it is a good approximation of the semantics of Ruby's type. So, the subtyping relation is defined by if that type has a method or not. So, it is really good fit for the Ruby's semantics. So, but the problem is that type inference does not work well. So, if we choose a structural subtyping, we cannot infer the polymorphic types. If we choose the ML-based type inference, we can infer the polymorphism, but we cannot type some of the Ruby built-ins. So, the next question is that do we really need type inference for Ruby or not? So, we can see that next idea of local type inference. So, it is the weaker version of the type inference. So, instead of inferring everything in the program, it only infers local elements, like the local variable types. And if we use a polymorphic method course, it infers that types. So, with local type inference, the programmers should write the methods types or class types. So, we need some annotations in the Ruby programs, but we don't have to write everything. So, a good thing is it is easily integrated with existing languages, like maybe C++. It's recently introduced a local type inference, and we can think about the Scala or Swift. They also have the local type inference. So, this is an example that, this is a Ruby program with no type annotations. So, to type check this Ruby program, we need a complete type inference algorithm. So, there's no type annotations. It is untyped, or we need a complete inference. So, this is the opposite. It is the free type annotated. So, we have to, sorry, it's a range, range ones are the type annotations. So, we have to annotate the method arguments, method return type, and we have to annotate for the local variable types. The size local variable is integer here. What's happening like that? We also have to annotate the types of the block parameters and the block return values, and in fact, the map is a polymorphic method. So, we have to explicitly give the type applications so it is string. So, the middle is the local type inference. So, we need to give the type annotations for the method parameters and method return types, but in this example, we don't have to declare any type annotations in the local variables or to using the blocks or maps. So, the type of local variable size is inferred from its right-hand side. So, array.size is integer. So, the type of size is integer. So, something like that. So, we have something like some answer like this. So, we should try that structural subtyping and local typing inference. So, we know that structural subtyping is enough to support the Ruby's semantics called stack typing, or we can use the local type inference to minimize the number of keys you have to hit. So, this design is similar to TypeScript. It has structural subtyping and it also inferred the type's locality. So, the type checking difficulty is now like this. So, instead of having complete type inference, we can use the local typing inference. We annotate some Ruby code using the type annotations. So, but we don't have to write any every types in your method definition. So, we have the difficulties on dynamically typed object, but we now, we can support that that typing semantics using the structural subtyping. So, the left, the difficulties it is left to open is metaprogramming. So, what is metaprogramming? You know that it is a program that modifies a class or method definitions during its execution. So, the popular metaprogramming primitives in Ruby includes defining method for class.new. So, if we write without metaprogramming, we can write the left-hand side. So, it's defining a person class and define a method called name. It returns instance variables. So, using the metaprogramming primitives, we can write on the left. So, we use the class.new method. We use the class.new method instead of the class syntax. We use the define method method to define the method instead of the def syntax. And we can also use the instance variable get method instead of writing the name of variable. So, the metaprogramming is so popular so abused in your Ruby code. So, it's not a special one. So, you write attribute reader or attribute accessor. It's a metaprogramming. It's a method to define the accessor methods. So, it's metaprogramming.  So, it connects to your database and finds the column definitions and finally it defines some attributes by itself. So, it's metaprogramming. Has many or belongs to also define the methods by itself. How about require? I think that everyone have used require years. So, we can do something like this. If some condition holds require year. So, it says if the random number probably about the 30% of the execution defines PP method but the list is without the require year method. Require year. So, this is same to the open classness, something like this. So, we can have a condition surrounding the class definitions. So, it's not clear that the class is defined or not. So, this is the difficulty of metaprogramming. So, it's done by some method calls. So, it's really difficult to identify the structure of actual type structures. The structure of the types without executing that. So, we have to infer that cases that if there is the code snippet using the metaprogramming, it's called before this case or so. So, one idea is to give a special support for attribute reader. So, if we find attribute reader in the class definition, we see that it is to defining the methods. Using, we translate the ADTR leader method called to the DEF syntax. Maybe we can do that, but what if that method is overridden? So, yes, so in that definition of person class, it looks like that it is to define the reader attribute but in fact, there is override in the object class. So, it is ADTR access. So, everything will go broken. So, this is the metaprogramming difficulties and I think there is two solutions for this. So, the first one is we stop type checking in statically. So, we can type check that during the execution instead of the check everything in before execution. So, this is a really cool paper. It is published last year, just in time static type checking for dynamic language. It is by Professor Foster and I don't know who is that Len. Professor Foster is a team he develops at Diamondback Ruby. So, his team continues almost 10 years for the Ruby's type checking. So, it's over something. So, in this paper, the interesting thing is it runs the static type checking during execution. Static type checking during execution. So, it's a bit difficult to understand to me. So, the implementation is called hummingbird and it's built on top of RDL. So, you may know that it is a dynamic type checking, dynamic type annotating of library for Ruby. So, this is how the hummingbird implementation type checks. So, this is an example that it define a F method. So, if we execute that program in Ruby, it is no error will be detected, no error will happen. So, we pass the F method, empty string and a false. So, it goes to the if condition is the false and then x.foo will not be called. So, then no type error will happen. But with just in time type checking, it's called hummingbird. So, type error is detected. So, it doesn't type check statically, but during the execution of the program, when the execution reaches on the beginning of the method F, it type checks its body. So, then the x.foo if y is checked. So, usually the static type checking ignores the branching conditions. So, it goes to when the if condition holds or not. So, it checks both case. So, it tries to type check the else case and it's type checks the x.foo's method goal and it knows the string doesn't have a full method. It's then it is a type error. The interesting thing is that the type checking is done during the execution. So, if we have a method definition in the string class like this. So, if there is a code snippet to define the full method of the string. So, it will pass the type check by hummingbird. So, yes, so it has a good point that it detects more errors in unit test. So, it's expected to be used to run the unit testing or integration testing. Anything you write the automated testing. So, in the automated testing, you have a program called most of the methods you are defining. So, then it type checks most of the cases of your programs. So, this is much better than writing the unit test for every branching coverage. So, even if we have a low branching coverage, it find more errors. However, in my opinion, I don't like this approach so because that type checking is depending on the runtime behavior. So, if your program requires some library, it is not called in the production. So, that library, I'm sorry that you have some classes in your program may have other methods. It is not available in production or such things. So, I want to go to the next one. So, to support the metaprogramming, we want to ask programmers to give the type structures. So, instead of the type checking tool to infer the structure of types, the programmer gives how the types is. So, this is, in fact, my type checker called Steve. I had a presentation in last Ruby guide in September. So, it is gradual typing for Ruby. So, it's available in GitHub or you can try using XAM. So, I'm sorry, it is really experimental, Steve, and it's not released yet. So, you have to give the pre-option to install that. So, key idea of the type checking tool is that type definition is written by another limited language. So, it is not extracted from the Ruby code. So, this is an example, it defines a contact class. So, it has initialized method, it has a name keyword arguments and the type of the name is string. It also has a name properties, it returns string. So, we write something like this. We specify the signature of classes you are defining in your Ruby programs. Every classes you define in your program, you have to write the signatures. So, this is written in .rbi file in Steve and the type definition language is really limited functionality, it's really limited expressiveness. So, it is to give the precise type definition statically without execution. So, there is no open class, no conditionals, no require, no metaprogramming. So, we can read the type definition file and understand how that type switch defines precisely. So, let me explain how the type checking will be. So, we have the contact class type definition here and we have some Ruby code to define the contact class. So, we give a type annotation like this at implements contact, it tells that the class is conforming to the class definition of contact. So, if we find the implements annotation, it checks that if the class defines all methods defined in the signatures. So, it first checks the initialize method is defined or not and it checks the name parameter have name parameter is defined in the initialize method or not. And finally, it also checks the name method is defined or not or if the type of the name method is correctly defined or not. So, this is about the metaprogramming. So, we can try to define the contact class using some metaprogramming called edtr-leader. So, in this case, the name method is not defined. No def syntax for the name method. So, the Steve cannot understand if the name is defined or not. So, it is the programmer's responsibility to tell that I define the name method using without the def syntax. So, this is atomic dynamic syntax. So, if you know objective C programming language, so it also has the atomic dynamic annotation. So, because the Steve doesn't know how the name method is defined, so you can use another metaprogramming technique like the method missing. So, instead of edtr-leader, you can define any way you want. So, the difficulty is some Ruby programmers cannot be typed statically using Steve. So, this is a very simple example. It defines full method in class A. So, in the definition of the full method, it defines full method again. So, if you call the full method first, it returns number three, but it also defines new full method. So, the next time you call the full, it returns a string instead of the integer. So, unfortunately, the Steve cannot give the types, give a good type for this kind of program, but in my opinion, full care. So, probably, maybe you don't write a Ruby program like this, or maybe you don't want your teammates to write program something like this. So, it's not a problem. So, I'm sorry. So, I introduced the full type checkers. It is developed for this 10 years. So, the first two type checkers are focusing on typing the dynamically typed objects, and it tries to infer the types. But, after some years of some efforts, we found that we cannot infer the types to Ruby programs. So, we have to write some annotations for Ruby programs, or we can use the technique called the local type inference to give that, to tell how the Ruby program is typed. And it moves to the next stage that we focus on how metaprogramming can be supported. So, just in time static type checking for dynamic language is a really awesome paper. It's really interesting, but I don't write that because it requires the program execution. So, I tried to develop my own another type checker for Ruby, so it is steep. I had a presentation in Ruby guide. So, I introduced four type checkers, two historical type checkers about 10 years ago, and two relatively new type checkers. So, and there is no conclusion in this talk. So, the type checking for Ruby is still an open problem. So, anyone on the earth doesn't have good answer to, we can do that one, not, how we can do that one. It's impossible. So, there is no answer yet. So, I'll say so, yeah, we are working for this. So, yes, thank you.


Hi there, I'm sure that you would love to improve your photography no matter what sort of skill level you're at You know cameras and lenses are only going to take you so far And what you really need to do is to develop these the very free gear that we have You know is to learn to see the world in a unique and an interesting way The best way to do this of course is to look at the work of other photographers and to draw inspiration from them and improve your own sort of visual literacy My channel the photographic. I is devoted to helping you improve your visual Language and introducing you to photographers who will help inspire you and and to show you different ways of seeing the world and Helping elevate your own photography Please do subscribe and I would love to share all of the information that I have with you I've been a photographer now for 25 years and and I look forward to the journey. We're going to take together


on the YouTube and Discord channel of Bookmap. My name is Oliver Sparing and I'm really excited to today give my first webinar here in English language. Some of you might already know me from my regular streams in German on Tuesdays. And today Bruce and I have agreed that we'll on a regular basis give these kind of seminars of webinars now in English too. We'll do this each last Wednesday of the month starting today at 9 a.m. Eastern Standard Time. So I'm really excited that you're here today to join me with this webinar. And yeah, I'm really excited about your opinions, about your feedback. So just let me know if you like it. In case you're not watching this live, please feel free to write your questions in the comments or to write me an email to mail at sparing-academy.com in case you wanna know anything for the upcoming sessions. I'm really glad and excited to hear from you. So before we begin, those of you who already know my webinars know that I've got a certain kind of plan that I used to follow. We're first starting the session with reviewing a screen-recorded trade of mine that I did with Bookmap obviously. We're gonna have a look at this trade. I'll tell you exactly why I opened it, what I've seen, how I managed it, how I got out, and how I actually used the software Bookmap to manage my trade idea. After that, usually I focus on your questions. So this is supposed to be an indirect webinar. Please feel free to ask all your questions, use the chat function of YouTube, use the chat function of Discord to tell me all your questions and as I said, in case you're watching the recording of the session, please use the comment section to ask your questions there as well and we're gonna have a look at them in the next month. Okay, obviously today this is the first session so I haven't got any questions from you yet. So what we're gonna do today is we're just having a look at my kind of trading style, my approach on trading. I'm gonna give you a few brief insights on what I'm doing in my discretionary trading style. After that, we're gonna have a look at the volume and market profiles of the ES Future, of the S&P 500 Future and we're gonna define some certain price locations, some levels where we're gonna look for trades afterwards and when it's finally 9.30 and the market's open, we're gonna jump right over to Bookmap to have a look together at the US market opening. We're gonna develop some trading ideas for the day and we're gonna see how liquidity, where liquidity lies, if we've got any imbalances in the market, what the market opening type is if we are in a trend, if we are in a range, all these kind of things. Before we start, I shouldn't forget that, a short disclaimer, let me just share my screen to you. You should see it now and let me just find the disclaimer. There it is. So everything we're telling you today, everything I'm gonna talk about today is for educational purposes only, obviously trading futures is connected to a lot of risk and each of every one of you trades on his own risk. I'm gonna spare you reading all of these notes here but it's just important for you to know that this is just for educational purposes. So before we start, since this is the first session of mine in English, I'm just gonna give you a brief overview of who I am and why I'm here, who is talking to you. As I said, my name is Oliver Sparing. I was born in 1987. After school, I first studied music until 2010. I studied electric guitar a long time ago but nevertheless, I think this was a quite valuable experience in terms of my trading career too because there are a lot of similarities between trading and learning an instrument. You gotta learn passion for what you're doing. You gotta learn patience and so many other skills that are needed in learning an instrument and also needed in learning how to trade. I guess all the musicians beneath you should know what I'm talking about. After that, I think it was in around 2011, I passed an educational program as a precious metals vendor and this was the first thing that brought me into contact with the markets, the futures markets in the first place. I started out by myself as most of you probably did and as most of you probably did, I didn't have any success with that. Later on, I learned commodity swing trading based on CUT data, seasonality and term structure with options and that is something that I'm still very active in today. So I'm a swing trader as well as I'm a day trader and later on, I think it was around 2015 or 2015, I got trained in order flow day trading in a big prop trading floor in London. This is how I first got into contact with day trading at all and yeah, since that day, I would say day trading is kind of my passion and my preferred style and approach to trading. In 2020, I founded my own company in Germany in Hamburg, the Sparring Investment Academy where we trained people, private retail traders how to trade the markets as well as investing and in speculative trading styles, swing trading, day trading. In 2021, I released my first book which is only available in German up to now. It's called Das komplette Börsengrundwissen which is something like the complete basic knowledge of trading. As I said up to now, it's only available in German but we're definitely thinking about releasing it in English too. In 2022, I released my fundamental analysis software, Trade Neon which I developed together with a really nice team of programmers and this is a specialized software which gives you market insights, COT data seasonality term structure in a very organized manner on a weekly basis. And in 2024, I moved from Germany to Dubai and founded the Sparring FZCO which is basically the same company here just with a fancier office view. Okay, so far about me and without further ado, let's jump right into the trade of the week. So some words to that. What you're gonna see is a trade recording. This is no life situation. I usually screen record each and every one of my trades, not only for myself, but of course, also for myself to actually review the sessions, to review my own trades, to see what I did good. I mean, obviously I'm in the trading business for 13, almost 14 years now but I think it's still a good idea for each and every one of you no matter how long you're in the game so far to actually make some statistics about your trading, about your approach, write everything down, not only where you entered and where you exited but also things like how you felt emotionally in this certain kind of situation. All those things are very important to actually keep the necessary objectiveness to stay in the game and to stay successful in trading. So as I said, I screen record every one of my trades on the one hand for myself, on the other hand, of course, for my customers, for my students and the education so I can provide these recordings to them, write some lines beneath that, what were my thoughts? Why did I open the trades? What did I see? How did I manage them? All these things and one of those trades is the trade of the week which I'm gonna show you in each of these sessions right at the start. So what I think is really important, I mean, you all know we're in a special sector and there are a lot of coaches out there who are very loud and who tell you things like, come to me, I'm gonna show you how to trade within two months and make you rich but as most of you probably know, this is not what reality in trading is like so I am going to show you, of course, some of my winning trades were everything that I imagined and my plan did play out just the way I wanted it to but I think it's really important to also show you the reality, to also show you some trades that actually didn't play out the way I planned and this is why I decided to start with one of those trades today. It actually, it wasn't a losing trade, it was a break-even trade but I think there's a lot more to learn on these kind of trades than on the big winners where you just enter a trade and everything happens just the way you planned, just the way you wished. So this is always easy to show and always easy to say here, look at me, I'm the biggest trader in life but yeah, as I said, these kind of trades are often the ones that are more usable to show certain things, to show how I think as a professional trader and yeah, just hopefully give you some value. So let's just dive right in. Just give me a second while I start the recording to have a short look if there are some questions up now. So everyone who just joined the session lately, please feel free to use the chat function of Bookmap or YouTube to post your questions in case you have any, you can ask me anything about trading, about using the software Bookmap or whatever you'd like. So this is a trade that I did today and this is a trade that I did around 3 p.m. Dubai time which is around, let me guess, I guess we've got nine hours difference to Eastern Standard so it should be like 6 a.m. So one question that a lot of people ask me is why do you trade so early? And I'm a morning trader. I usually, I come from Germany, I'm based in Germany and I usually traded the morning session of the European opening which is around 9 a.m. in Germany. So this should be 3 a.m. Eastern Standard time in the United States. I really like the markets in the morning, they are less volatile, they are slower, they are calm, which is something I like to trade. So what a lot of people ask me is actually basically can you trade the markets at this point of the day? Wouldn't it be better to prefer the US session, the US opening, the sessions where the markets are a lot more liquid, a lot more volatile on the other hand. I think what you gotta understand is that the forces that drive the markets are always the same. It's supply and demand. No matter which market you're trading, no matter at which time you're trading, it's always supply and demand. And those two factors are the pillars that our trading, our discretionary trading is based on. So it really doesn't matter if you're trading the ES or the GC gold future like I do, the CL oil future or even soybeans, lean hogs, feeder cattle, whatever. It's all driven by the same forces, supply and demand. So what I'm trying to say here is it doesn't really matter at which time you're trading. It doesn't really matter which market you're trading. The fundamental factors that our trading should be based on are always the same. However, you should know your market and you should know your specific market at the time that you're usually trading. So what do I mean by that? It doesn't make a lot of sense if one day you're trading the ES, next day you're trading copper, next day you're trading natural gas and you're doing so on complete different times of the day because obviously markets have characteristics and you've got to know those characteristics. Similarity to musical instrument learning, it has a lot to do with experience and I'm saying this with a lot of caution. It has to do a lot with some certain kind of gut feeling too and this gut feeling comes obviously with a lot of experience, a lot of time that you spend with the markets, if you know what I mean. You can know the basics, you can know the theory but this still doesn't make you a good trader. Day trading is a long journey and most of you already know that certainly. So you got to know your market, you got to know how your market usually behaves at the certain time that you're trading and only when you do know the common characteristics of the market at that certain time, you can realize when there are anomalies that you can then use for your trading entries. So as I said, I'm usually a morning trader, I like trading between 9 a.m. to 11 a.m. Central European time, European opening, I'm trading the ES future, I'm trading the GC Gold future, which is kind of like my home market and I like to trade the CL oil future, crude oil future. Those are my three markets that I concentrate on. I definitely, when you're at the start, when you're at the beginning of your trading journey, you should actually concentrate on one market only, get to know this market perfectly and when you got the experience, you can maybe add a second or third market if you want to. I mean, there's no reason to change anything if you're satisfied and if you're successful with your one market, that's totally fine too. So let's come to the trade now, sorry for the long speech. We are in a downtrend. What you're seeing here is on the one hand, the book map software and on the other hand, here's a little five minute candlestick chart of the daily gold GC future market. What you're also seeing are those areas that I painted red, black or greenish here those are my levels that I define before I start my trading sessions and these are the levels and price locations where I actually look for my trade. I say a few more words on my trading style after the review of this trade, but this is like the first very important and basic pillar that my trading style is based on. Market analysis, levels, price locations, I guess that's something that most of you are either already using or have already heard of. So we are in a downwards movement and obviously the market went into this kind of upwards movement here, this kind of price correction and this is a location where we've got an area where not only we've got this black dark pool level, but also we've got this anchored VWAP coming from above. We've got the monthly VWAP, which is the blue line here and this is an area where I was looking to enter the market on the short side in case that the price action that the order flow is telling me to do so which is the second pillar of my trading style. I don't just put some limit buys or limit sell orders to those levels. This wouldn't make a lot of sense in the end. It's always about where do I want to trade and what should happen there to actually make me press the buy or the sell button. So we are having this pullback of the markets in a downwards movement up to the dark pool level and what we're seeing there is that we've got a little stop run of 30 contracts and afterwards the market is ranging here on the level. So what I was waiting for is either the breakout of this structure or as we're seeing here, the attempt of the market to actually fill this liquidity here at 2037. So the market went up to this level and immediately on the first try of approaching it, sellers entered the market and rejected this level. So this is some thing that I like to trade and that I like to look at, especially when I see the delta is not visibly coming up again. So we've got the first attempt of the buyers to get the breakout here in this situation and then afterwards if I don't see any further buyers and instead see the sellers coming up, I want to enter my short trade here. This is obviously a good location to hide your stop order, which was around, where was my entry? It was here at 366. Should be six ticks of a stop and what I was trying to do here was I was looking for the down move to the next level, which would be the dark pool and negative gamma level down here at 20348 around this level. So what I wanted to see is a really fast follow through in this situation. So I don't really want the market to tend sideways afterwards after entering this trade. When you're playing this rejection set up here, you want to see a fast and quick follow through. Otherwise you have to reevaluate and stay objective and that is something that I actually want to show you in this trade, which is really important from my point of view. So let's just click the play button. Oh, by the way, this is not, I recorded this in Norman temple and afterwards I loaded it into Da Vinci and speeded up the recording because actually I think the trade was like 20 or 30 minutes long. So this would actually be much too long to view in these sessions. So I just don't want you to wonder why the market moves faster than you're used to. So I entered the short trade and the first thing I saw is that my plan seemed to work out pretty well. Here was my entry and I immediately saw some active sellers entering the market, pushing the market down again to the dark pool level also to the anchored VWAP. And what I wanted to see now is a short and effective stop run beneath the 35 ish around this kind of level down beneath this price. So let's see if this played out. We've got some new orders coming into the bid. And now we see those trades getting filled. And on this point, something happens that as someone who is short in this trade you don't want to see the market moved some kind some ticks downwards around seven to eight ticks in my direction. And then immediately new buyers entered the game entered the market and pushed the price up again. So this is of course not what you want to see in a short trade. And this is something where you have to stay as objective as possible, which of course is not always easy, especially when you're in the trade over a long period of time. So this short snippet of the markets that we're seeing here is actually already 15 minutes. And just imagine you're entered the trade here. You're waiting for 15 minutes just to see how the opposite of what you hope for is happening. And of course this is not easy to stay objective in this kind of situation. So market comes up again, approaches this liquidity at 37 again, and again the front running algorithms entered and pushed the market downwards. So what I was thinking here, okay, if now the sellers enter the market again and they are capable of pushing the market down with some momentum, my basic trade idea that I originally had here is still active. I can stay in the trade, but however, what I want to see now is that this liquidity at 35.8 is getting filled quite fast. And we're not further ranging in this small range between 35.8 and 37.2 here. So let's see what happened. So what you can see now is some game that bigger market participants are playing. We've always got these trades in the bid coming up here. They're getting filled. So this is not just simple spoofing. Those are actually orders that we're getting filled. And on the other hand, we see some active buyers coming up, we barely see any selling anymore. And we also see some orders coming up here around 37.8, new liquidity coming up in the ask, in the offer. And we've got this larger order at 35.8. So when I entered the trade, I saw that there was liquidity pulled above the price and that there was actually liquidity added beneath the price here and down here, which we can see now. So now the situation is a complete different one. And this is your task and this is maybe the biggest problem that we have as discretionary traders to actually stay objective in these kinds of situation. It's similar, I think it's similar to a relationship that you've been in for so long and neither of the partners still wants to be in the relationship. However, you decide that you're gonna keep the relationship up just because you were in it for so long, you've put so much effort in it, you've put so much time in it. And I remember this, I remember these kind of situations when I first started trading and when I had my first stock portfolio, I don't even know which stock it was. I think it was Starbucks, Skyworks. I don't know, whatever, not important. But I was playing around with the stock for quite a long time. I always used to make some real strategy plays with that cash secured puts, covered calls and so on. And however, the stock didn't really move over several months. And there was the time when I had to ask myself, does this stock really fit into the criteria that you've set up when you first bought it? Is this really the stock that you still wanna have? And what applies to long-term investing, of course, also applies for day trading. So if you're in a trade for more than 30 minutes, maybe even more than one hour, and it's just ranging, it's just not doing what you first expected it to do, then you gotta ask yourself, is this really the trade that I was trying to play in the first place? And what I can tell you is, the longer it takes to actually run in the direction in your desired direction, the less are your chances it's actually doing so. So if you're entering a trade and it's just running sideways and sideways and sideways and it's ranging and ranging and ranging, the longer it does so, the less are your chances that your original idea actually plays out. So there are two choices now. You can either stay in the trade and just hope for the best, but we are traders, we are professional traders. We don't wanna hope, we wanna have a plan. And we actually wanna have a plan before we click something, if you know what I mean. We wanna know what we're doing and we wanna stick to that plan before our decisions in trading get too emotional. So what I'm trying to do in these kind of situations is I'm just having a look at it and I'm just saying, okay, is my basic idea still active? I could answer this question with yes, because actually the price is still beneath this monthly V-Web. So my basic idea somehow is still intact, it's still active, but the chances that my trade is running out as a winner are much more decreased than they were at the beginning of the trade. So what I used to do in these kind of situations in general is just reducing my risk, which is always a reasonable thing to do in these kind of situations. What you're gonna see in a few seconds is here, I just took off one contract down, did I already? Yes, I already took off one contract around here, here it was. I think it was around three, four, five ticks, three, four, five ticks in the winning zone and the stop of the second contract, I've just put down three ticks. So actually I'm risk neutral now. Even if I get stopped out above here, my trade is going to play out break even. So this gives me the comfort that I still can stay in the trade, so it still has the chance to break out and to play out as my first intention was. I don't have to close it at all, but on the other hand, I also can't lose any money anymore, which makes sense in this kind of situation because I didn't get the follow through that I initially wanted to see. And what happens now, it's the following, I'm getting stopped out. Why doesn't it show it? Sorry, give me one second. There. Price comes up, approaches this big liquidity again and I'm getting stopped out here. It's a break even trade. You can see zero, zero, nothing happened, which of course, it's not the best feeling because as I said, I just wasted more than half an hour of my lifetime for this trade, but this is business as usual. Not every trade plays out the way you wanted it. This is something you have to deal with as a private retail trader, no matter if you're doing this as a hobby or if you're doing this as a profession. So this is the trade of the day. So some nice break even trade and I'm just gonna have a look at the questions to ask Oliver a question, please use his dedicated channel. Oh yeah, okay. Sorry, I'm only having a look at the chat of this voice chat right now. I didn't even see that I have my own dedicated channel. There it is. Okay, I tried to have a look at both chats so I can answer your questions. And in case you're having a look at YouTube right now, you can please feel free to use the YouTube chat as well. Okay. Some words on my basic approach in trading. So it consists, as I said, it consists on, or it is based on two pillars. The one is the question, where the other one is the question, what? Where do I want to see it happen and what should happen if the price is there? So what I'm doing in the first place each morning at 8 a.m. Central European time is I am making a market analysis together with my customers, together with my students. And we are gonna define certain levels in the markets based on certain factors. And those are the levels that we do not move within the day. They remain as we've set them in the morning hour. And those are the locations where we actually look for our trade entries. We do not want to trade in the middle of nowhere. We always want to have certain factors on our side.  We wanna position ourselves where the big institutional players are positioning themselves. So this kind of market analysis is based on different perspectives. We're using liquidity, which is a very important factor. We only wanna trade where liquidity is because liquidity shows us interest. We are using the market profile and the volume profile to actually define certain levels, to have an overview over the market structure, to have an overview over the auction process, which is very important in trading. And we also include dealer hedging levels, gamma levels, banner levels, charm levels, Fibonacci retracements. We are using dark pool levels, which play a more and more important rules. And the key factor is to combine all these things and get a very specific view on the market. Actually, right now at the moment, we only offer our educational programs to our German audience, but we're currently working on a program which deals with this kind of market analysis and which we will publish in English language too. So I'm gonna keep you updated on this. So here in these public streams, I have to excuse myself, but we only have time to do a very fundamental, very basic kind of analysis. We only focus on the most common and widely regarded levels to do this kind of analysis without diving too deep.


James Harriet shared with the world his love of the Yorkshire Dales through his books and the TV series All Creatures Great and Small. He also inspired a stunning walk through the heart of the Dales. The Harriet Way will show you the sights, sounds, people and pubs that make this part of the world so special and we'll chat with Harriet's son. The walking in the Yorkshire Dales is superb. Join us for a walk in James Harriet's footsteps on the Harriet Way. Sunday Evening at 6 on Jack's PBS.


The Auckland Climate Challenge is a 24 hour ideas hack taking place in 233 cities around the world simultaneously on October the 27th and 28th this year. Thanks to the generosity of Vector, Auckland's Climate Challenge event is free for participants. We'll be bringing together innovators, entrepreneurs, students and professionals to ideate, collaborate and create solutions to climate challenges. The Auckland Climate Challenge is to create a new energy future for every Aucklander. Auckland is New Zealand's largest and fastest growing city. How can we power this growth in a low carbon way that is affordable and accessible for every Aucklander? Participants will be working on solutions ranging from how we generate and use our electricity to how we travel. Climate is open to everyone. We're really keen to get a blend of professions, ages, stages, interests and backgrounds in the room because we know that when we do, magic happens. Come and join us at Climathon in Auckland this October. Climate change can sometimes seem overwhelming but together we can create solutions for a better future for our brilliant city.


Here we are, amidst the founding documents of our country for an occasion that you will all remember as I will the rest of your lives. My name is Jim Blanchard. I happen to be the Chair and President of the National Archives Foundation. I want to welcome you on behalf of the Foundation to this ceremony commemorating in the Oath of Office for the 11th Archivist of the United States, Dr. Colleen Shogan. So now it's my pleasure to introduce the Archivist of the United States, Dr. Colleen Shogan. Now it's my pleasure to introduce the Chief Justice of the United States Supreme Court, John Roberts Jr. Now again, another pleasure to introduce the First Lady of the United States of America, Dr. Jill Biden. As we start this ceremony I would ask everyone to make sure you've turned off your cell phones. I'd like to do that. And I ask that everyone please rise for the presentation of the colors by the Navy Color Guard, followed by the singing of our national anthem by Millicent Scarlett. Oh say can you see what so broad stripes and bright stars. And once again on behalf of the National Archives Foundation I want to welcome you to this very very special event. Our foundation, the National Archives Foundation has been the non-profit partner of the National Archives for over 30 years and we are the ones that support, promote, plan, help execute public programs, exhibitions, civic education resources and much more. All these, which are a wonderful gift by this great institution that we offer to our country and the world. And I want to acknowledge our foundation board members please, you can get seated everybody else but, excuse me, I'm not used to preaching from the pulpit lately. But I want our board members, foundation board members to please stand up, alright. Also staff members of the National Archives itself, those of you who are here, we thank you for your service and please stand up. Some of you are very modest and you're in the back, but we appreciate what you do. Also with us is the United States Center for West Virginia, Shelley Capito. I believe we're also joined by Chairman and Congressman Stephen Womack of Arkansas. Congressman, thank you for being with us. Thank you. Our previous archivist and our dear friend, David Ferriero, the 10th archivist of the United States is here on hand. David, where are you? Anyway, thank you. Most recently during very difficult and challenging times, the acting archivist before Dr. Shogan, Deb Wall. Deb, thank you again for your service and the vice chair of our foundation, Secretary Rodney Slater. Rodney, thank you for your leadership. I think most of you know that the National Archives is a truly unique government institution. By the way, it's an independent agency created by Franklin Nella Roosevelt in the 30s. We contain billions of documents within these buildings and other buildings, and each of them tells a part of the American story. We are obviously in the Archives' task with preserving our past, but it must do with an eye to the future. So we celebrate that future today. As we're gathered for this ceremony, we're celebrating new beginnings and new leadership, and it's an exciting day, as we all know. Now it is my pleasure to introduce the first lady of the United States, Dr. Jill Biden. Thank you very much. Thank you. Please be seated. Thank you. So thank you, Governor Blanchard, and thank you for your dedication to the National Archives. And Senator Capito, you were a champion for Dr. Shogun in the Senate, and so thank you for everything that you did to make this moment possible. Two years ago today, the horror of 9-11 changed us all in some way. We must always remember those lost that day and in the aftermath, and we will keep their families always in our hearts. We stand with them today and every day. The history of a democracy belongs to its people, and we must preserve it with care for future generations. As far back as the Constitutional Convention, our leaders recognize the power of our founding documents and the importance of keeping them safe and accessible. This experiment in democracy hinged on the people and their ability to claim their rights and hold their elected officials accountable. That power could only be made real with access to history, unfiltered and uncensored. So in the 250 years since, we have collected these records, first in the hands of George Washington, later at the Department of State, and now in the National Archives. Each one is a snapshot in time, tracing the history of a young republic, our republic, from its nascent beginnings to who we are today, the greatest, most powerful country on this planet. The Constitution and the Declaration of Independence, the Louisiana Purchase and Emancipation Proclamation, the 13th and 19th Amendments, Harriet Tubman Civil War Pension Claims, Thomas Edison's lightball patent, a letter Annie Oakley sent to President McKinley in 1898 volunteering the Lady Sharpshooters for the Spanish-American War. The transfer of power between 46 presidents. Each of these pieces of paper tells a story, the story of a country and its people, zinging and sagging through history, imperfectly marching toward a more perfect union. Conversely, sometimes that story is a dark one. Manifests of slave ships, President Roosevelt's executive order on Japanese internment, the Supreme Court's Dred Scott decision. It's these stories we must learn the most from. It's these that we must study. For past is prologue as one of the statues flanking this building proclaims. As an educator, I know this well, that our present and our future are inextricably linked to our past and that we must learn from the past or be bound to repeat it. That's why as First Lady, I've been so committed to upholding these sacred institutions so they may continue to serve the American people and teach the next generation about our shared heritage. These National Archives have captured our complicated story for nearly 100 years. And for that entire period, the archives have been led by men. You know where I'm going. Today, however, I'm so honored to be part of the ceremony of the first swear in the first woman ever to be appointed archivist of the United States. Yes, give her another round of applause. It's thrilling. The history we preserve, the stories we elevate, the voices we amplify are shaped by the person at the helm of this institution. These stories are all of our stories. Men and women of all backgrounds, ages and creeds. What we choose to preserve and whose voices we deem worthy of placing in our national memory. That's why this milestone, the first woman head of the National Archives and Records Administration is so momentous. Dr. Shogun, congratulations on becoming the 11th Archivist of the United States. You're immensely qualified with a sterling record of service, a clear commitment to preserving our nation's unique history and a deep respect for this country's founding principles. I can't wait for the next generation of American stories that will be housed within these walls under your leadership. Thank you so much. Congratulations. Thank you very much, Dr. Biden, and thanks again for being with us. Also in our audience is the 14th Librarian of Congress, Dr. Carla Hayden. As we get ready to have the Chief Justice of Minister of the Oath, I do want to say a couple words about our honoree here today, Dr. Colleen Shogun. We've said she's the 11th Archivist of the United States. She happens to be the first woman archivist as well. Vice President Joe Biden and the U.S. Senate. Thank you, Senator Capito. She's a proud native of Pittsburgh. She's a recognized, well, being from Detroit, I can relate to that. Prior to her appointment, she was Senior Vice President and Director of the David M. Rubenstein Center at the White House Historical Association. She also served as a Legislative Assistant in the United States Senate. And she was a Senior Advisor and Executive at the Library of Congress. In addition, she was Vice Chair of the Women's Suffrage Centennial Commission and is Chair of the Board of Directors of the Women's Suffrage National Monument Foundation. She brings to us an exciting chapter in our history, and so now it's my honor to introduce the Chief Justice of the United States, John Roberts Jr. and the 11th Archivist of the United States of America, Dr. Colleen Shogun. Please raise your right hand and repeat after me. I, Colleen Shogun, do solemnly swear. I, Colleen Shogun, do solemnly swear. That I will support and defend the Constitution of the United States. That I will support and defend the Constitution of the United States. Against all enemies, foreign and domestic. Against all enemies, foreign and domestic. That I will bear true faith and allegiance to the same. That I take this obligation freely. Without any mental reservation or purpose of evasion. And that I will well and faithfully discharge. And that I will well and faithfully discharge. The duties of the office on which I am about to enter. The duties of the office upon which I am about to enter. So help me God. So help me God. Congratulations. Thank you. Please be seated. Thank you so much. Thank you. Thank you, Dr. Biden, Chief Justice Roberts, members of Congress, my family members, distinguished guests, the National Archives Foundation, and the dedicated staff of the National Archives. Today as we gather in this retunda, we remember and honor the lives lost on September 11th, a solemn reminder of our resilience as a nation and the enduring power of unity and compassion. Everyone here today has played a role in supporting me and the National Archives, and I appreciate each of you for your friendship and for your support. It is the honor of a lifetime to serve as the 11th Archivist of the United States. It's not lost on me today that I am the first woman appointed to serve in this role. You might have guessed it that it matters to me by what I'm wearing today. I wore white today to recognize those who made it possible for me to stand here today and take this oath. The suffragists didn't sign the Declaration of Independence or the Constitution, so they aren't on these murals behind me, but their contribution to the vitality of our democracy is no less meaningful. Along with many other inspiring leaders in American history, they believed in the principles enshrined in these documents and claimed them as their God-given natural rights. The fulfillment of those rights, which continues today, is why these documents aren't simply pieces of parchment. They are living promises to hold our government accountable. Why is accountability important in a democracy? It's a fair question. Shouldn't we expect our government to do the right thing and to make decisions to promote the common good? The answer is yes, but it's important to remember that representative democracies require hard work, not just from politicians, but from every citizen. At the end of the Constitutional Convention in Philadelphia, a woman asked Ben Franklin if the proposed government would result in a republic or a monarchy. Dr. Franklin famously replied, a republic, if you can keep it. Franklin's quip packs a punch. Any government which derives its just powers from the people requires eternal vigilance, engagement, and knowledge. After all, the prevalent condition in human history is not democracy or rights-based government. Rather, the default is autocracy, interiority, where might makes right, with little regard to individual freedom or the pursuit of happiness. What prevents us from falling back into the classic pattern of authoritarianism is our right, indeed our responsibility, to hold our government accountable. That's what makes the National Archives so important. Without the National Archives and the continued fulfillment of its mission, a healthy democracy cannot be sustained. Our task is straightforward, but it grows in complexity every day. The National Archives preserves, protects, and shares the billions of records in its custody with the citizens of this great nation. We do this to cultivate public participation and to strengthen our democracy. To meet the evolving requirements of that mission, the National Archives will need to transform itself for the digital age. Change is never easy, especially for an organization rightly steeped in history and tradition. But as a political scientist, I know the critical inflection points in the long trajectory of an institution are almost always moments of unprecedented opportunity. We will need to embrace technology to meet our mission in ways that might make us uncomfortable at times. New ways of doing things will challenge our second nature habits and processes. But if we are going to succeed, we must move forward boldly. Timidity will not be our friend as records continue to proliferate at exponential rates. The National Archives can collect, digitize, and preserve, but without enhancing how we share the records, the papers, the pictures, the emails, the films, then I ask you, what's the point? In new and creative ways, we will share the records of the National Archives with as many Americans as possible. I want all citizens to find a connection with history at the National Archives, whether it's a personal, scholarly, genealogical, or creative endeavor, all should feel welcome here. I want as many Americans as possible to visit us in person, here in the rotunda, or at one of the many National Archives facilities across the country. And for those who can't come to us, I want to take the National Archives to them, online and around the United States. We also have a special obligation to help kids who are learning about American history and civics. In this respect, our nation's report card is deficient. The National Archives should be a first stop for all teachers and students, and we will double down on creating useful, engaging materials for the classroom. Understanding American history and government should not be treated as an afterthought. An engaged and informed citizenry is a critical prerequisite for the health of our democracy, and we need to treat it as such. These are not ordinary times in our nation's history. We are faced with fundamental questions about how we think critically about our shared past. Debate about these interpretations can invigorate our democratic institutions, if executed respectfully and rationally. However, let us not forget our North Star, which guides us in all of our spirited exchanges. This of course, is the Declaration of Independence, which I try to visit every day that I come to work in this building. It contains perhaps the most adacious statement in the history of the world, that all men are created equal. Although this truth is self-evident, we know from our almost 250 years of American history that it is not self-executing. It is our job collectively to uphold these principles and protect them. I invite all Americans to join me in this critical task. Thank you again for being here today. I look forward to working with all of you to ensure that we meet our obligation to the nation. Thank you. Dr. Biden, Chief Justice Roberts, Dr. Shogan, ladies and gentlemen, thank you for celebrating what will always be one of the most memorable occasions in your life in ours. This concludes our program. We now invite you to celebrate with us behind you in the National Archives galleries. We'll see you down there. Thank you.


just to scare you a little bit but this is interesting and I'm curious what you think in terms of how you think this would happen, what do you think would happen here in a free market? It turns out that your auto company, right right now that every car that you drive has a chip in it, that chip is monitoring your driving behavior.  It's monitoring your driving, it monitors the engine, it monitors every aspect of the car, how far you drive and that information is provided to the auto companies. That information is provided to General Motors or Ford or Toyota or whatever and those auto companies then sell that data to a company called Lexus Nexus. Lexus Nexus is a data aggregator global data broker. It used to be a legal search database but the internet has made that irrelevant so they've shifted to being this global data broker and all this data goes to their risk solution division and then Lexus Nexus sells this data to the insurance companies, auto insurance companies and then auto insurance companies use this data to assess how risky of a driver you are and based on that they will adjust your premiums.  Now there's something really rotten about this, something right about it and something very rotten about it. What's right about it is yeah insurance companies are really interested in this data, insurance companies I mean it's great if they can really price insurance based on the real risk that you're driving poses. It will actually make insurance ultimately the long run for most of us particularly for safe drivers more affordable. So this is rational and logical from the insurance perspective. It's actually good for all of us in the sense that insurance premiums will actually reflect risk much better than they ever have. But on the other hand I don't remember giving permission to use my driving data for this purpose. I don't remember giving permission for the auto company to accumulate this data and then to sell it. There's something really wrong with this assumption that data can be bought and sold, transferred, taken and that the individual whose data it refers to has no say in the matter. Like maybe we signed when we bought the car some form just allows the auto company to accumulate all the data once on us but something's wrong with that.  Contracts particularly consumer contracts should be written in plain English should be short and simple but we have a legal system that is perverted and distorted the whole area of contract law and of course as one of the consequence of this is that privacy is completely eroded, distorted, perverted and they think they can just take out data and do whatever they want to do with it. There's something very perverse about that. There's something very very wrong about that. So if the auto company asked me whether I was willing to have my data sent to the auto insurance company I would say yes but then you've got a moral hazard problem that is good drivers would send all their auto information to the insurance company but then what would happen which is interesting right? The insurance company would then take that into account and if you refused to share the data with them they would raise your premiums because they would rationally assume that your reason you didn't want to share your data with them is because you were a risky driver and you didn't want your premiums to go up. So they would go up anyway. So actually making this voluntary and making and allowing individuals to decide whether to share the data or not actually allowing individuals to own their own data and then contract it out, sell it out instead of what is probably going to happen is some kind of legislation that says one way or the other would actually create a healthier better use of data and a healthier better kind of relationship between insurers and for all you know basically for how all of this actually works and ultimately that means lower premiums better service the whole shebang