Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (4 votes)
16 views

(Ebook) Functional Programming in JavaScript: How to improve your JavaScript programs using functional techniques by Luis Atencio ISBN 9781617292828, 1617292826 pdf download

The document is an overview of the ebook 'Functional Programming in JavaScript' by Luis Atencio, which focuses on improving JavaScript programs using functional programming techniques. It includes details about the book's contents, structure, and various functional programming concepts. Additionally, it provides links for purchasing and downloading the ebook in different formats.

Uploaded by

zpobsfff502
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (4 votes)
16 views

(Ebook) Functional Programming in JavaScript: How to improve your JavaScript programs using functional techniques by Luis Atencio ISBN 9781617292828, 1617292826 pdf download

The document is an overview of the ebook 'Functional Programming in JavaScript' by Luis Atencio, which focuses on improving JavaScript programs using functional programming techniques. It includes details about the book's contents, structure, and various functional programming concepts. Additionally, it provides links for purchasing and downloading the ebook in different formats.

Uploaded by

zpobsfff502
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 65

(Ebook) Functional Programming in JavaScript:

How to improve your JavaScript programs using


functional techniques by Luis Atencio ISBN
9781617292828, 1617292826install download

https://ebooknice.com/product/functional-programming-in-
javascript-how-to-improve-your-javascript-programs-using-
functional-techniques-55892992

Download more ebook instantly today at https://ebooknice.com


Instant digital products (PDF, ePub, MOBI) ready for you
Download now and discover formats that fit your needs...

Start reading on any device today!

(Ebook) Functional Programming in JavaScript: How to improve your JavaScript


programs using functional techniques by Luis Atencio ISBN 9781617292828, 1617292826

https://ebooknice.com/product/functional-programming-in-javascript-how-to-
improve-your-javascript-programs-using-functional-techniques-55892992

ebooknice.com

(Ebook) Functional Programming in JavaScript: How to improve your JavaScript


programs using functional techniques by Luis Atencio ISBN 9781617292828, 1617292826

https://ebooknice.com/product/functional-programming-in-javascript-how-to-
improve-your-javascript-programs-using-functional-techniques-38169312

ebooknice.com

(Ebook) Functional Programming in JavaScript: How to improve your JavaScript


programs using functional techniques by Luis Atencio ISBN 9781617292828, 1617292826

https://ebooknice.com/product/functional-programming-in-javascript-how-to-
improve-your-javascript-programs-using-functional-techniques-38181386

ebooknice.com

(Ebook) Beginning Functional JavaScript. Functional Programming with JavaScript


using EcmaScript 6 by Anto Aravinth ISBN 9781484226568, 1484226569

https://ebooknice.com/product/beginning-functional-javascript-functional-
programming-with-javascript-using-ecmascript-6-5755216

ebooknice.com
(Ebook) Beginning Functional JavaScript: Functional Programming with JavaScript
Using EcmaScript 6 by Anto Aravinth ISBN 9781484226551, 9781484226568, 1484226550,
1484226569

https://ebooknice.com/product/beginning-functional-javascript-functional-
programming-with-javascript-using-ecmascript-6-22627242

ebooknice.com

(Ebook) Functional JavaScript: Introducing Functional Programming with Underscore.js


by Michael Fogus ISBN 9781449360726, 1449360726

https://ebooknice.com/product/functional-javascript-introducing-functional-
programming-with-underscore-js-4318108

ebooknice.com

(Ebook) Mastering JavaScript Functional Programming by Federico Kereki ISBN


9781787287440, 1787287440

https://ebooknice.com/product/mastering-javascript-functional-
programming-42918608

ebooknice.com

(Ebook) The Joy of JavaScript by Atencio, Luis ISBN 9781617295867, 1617295868

https://ebooknice.com/product/the-joy-of-javascript-23191226

ebooknice.com

(Ebook) The Joy of JavaScript by Luis Atencio ISBN 9781617295867, 1617295868

https://ebooknice.com/product/the-joy-of-javascript-23943412

ebooknice.com
Functional Programming in JavaScript
Functional
Programming
in JavaScript
LUIS ATENCIO

MANNING
SHELTER ISLAND
For online information and ordering of this and other Manning books, please visit
www.manning.com. The publisher offers discounts on this book when ordered in quantity.
For more information, please contact
Special Sales Department
Manning Publications Co.
20 Baldwin Road
PO Box 761
Shelter Island, NY 11964
Email: orders@manning.com

©2016 by Manning Publications Co. All rights reserved.

No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in


any form or by means electronic, mechanical, photocopying, or otherwise, without prior written
permission of the publisher.

Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in the book, and Manning
Publications was aware of a trademark claim, the designations have been printed in initial caps
or all caps.

Recognizing the importance of preserving what has been written, it is Manning’s policy to have
the books we publish printed on acid-free paper, and we exert our best efforts to that end.
Recognizing also our responsibility to conserve the resources of our planet, Manning books
are printed on paper that is at least 15 percent recycled and processed without the use of
elemental chlorine.

Manning Publications Co. Development editor: Marina Michaels


20 Baldwin Road Technical development editor: Dean Iverson
PO Box 761 Review editor: Aleksandar Dragosavljevic
Shelter Island, NY 11964 Project editor: Tiffany Taylor
Copy editor: Tiffany Taylor
Proofreader: Katie Tennant
Technical proofreader: Daniel Lamb
Typesetter: Dennis Dalinnik
Cover designer: Leslie Haimes

ISBN: 9781617292828
Printed in the United States of America
1 2 3 4 5 6 7 8 9 10 – EBM – 21 20 19 18 17 16
To my wonderful wife, Ana.
Thank you for your unconditional support
and for being the source of passion and inspiration in my life.
brief contents
PART 1 THINK FUNCTIONALLY ..................................................1
1 ■ Becoming functional 3
2 ■ Higher-order JavaScript 23

PART 2 GET FUNCTIONAL........................................................55


3 ■ Few data structures, many operations 57
4 ■ Toward modular, reusable code 84
5 ■ Design patterns against complexity 117

PART 3 ENHANCING YOUR FUNCTIONAL SKILLS ......................151


6 ■ Bulletproofing your code 153
7 ■ Functional optimizations 180
8 ■ Managing asynchronous events and data 205

vii
contents
preface xv
acknowledgments xvii
about this book xix

PART 1 THINK FUNCTIONALLY .......................................1

1 Becoming functional
1.1
3
Can functional programming help? 5
1.2 What is functional programming? 5
Functional programming is declarative 7 Pure functions and

the problem with side effects 9 Referential transparency and


substitutability 13 Preserving immutable data 15


1.3 Benefits of functional programming 16


Encouraging the decomposition of complex tasks 16
Processing data using fluent chains 18 Reacting to the

complexity of asynchronous applications 19


1.4 Summary 22

ix
x CONTENTS

2 Higher-order JavaScript 23
2.1 Why JavaScript? 24
2.2 Functional vs. object-oriented programming 24
Managing the state of JavaScript objects 31 Treating objects ■

as values 32 Deep-freezing moving parts 34 Navigating


■ ■

and modifying object graphs with lenses 37


2.3 Functions 38
Functions as first-class citizens 39 Higher-order functions
■ 40
Types of function invocation 43 Function methods 44

2.4 Closures and scopes 45


Problems with the global scope 47 JavaScript’s function

scope 48 A pseudo-block scope 49 Practical applications


■ ■

of closures 50
2.5 Summary 53

PART 2 GET FUNCTIONAL ............................................55

3 Few data structures, many operations 57


3.1 Understanding your application’s control flow 58
3.2 Method chaining 59
3.3 Function chaining 60
Understanding lambda expressions 61 Transforming data ■

with _.map 62 Gathering results with _.reduce 65


Removing unwanted elements with _.filter 68


3.4 Reasoning about your code 70
Declarative and lazy function chains 71 ■
SQL-like data:
functions as data 75
3.5 Learning to think recursively 77
What is recursion? 77 Learning to think recursively

77
Recursively defined data structures 79
3.6 Summary 83

4 Toward modular, reusable code 84


4.1 Method chains vs. function pipelines 85
Chaining methods together 86 ■
Arranging functions
in a pipeline 87
CONTENTS xi

4.2 Requirements for compatible functions 88


Type-compatible functions 88 ■ Functions and arity:
the case for tuples 89
4.3 Curried function evaluation 92
Emulating function factories 95 ■
Implementing reusable
function templates 97
4.4 Partial application and parameter binding 98
Extending the core language 100 ■
Binding into
delayed functions 101
4.5 Composing function pipelines 102
Understanding composition with HTML widgets 102
Functional composition: separating description from
evaluation 104 Composition with functional libraries 107

Coping with pure and impure code 109 Introducing point-free


programming 111
4.6 Managing control flow with functional combinators 112
Identity (I-combinator) 112 Tap (K-combinator) 113

Alternation (OR-combinator) 113 Sequence (S-combinator) 114


Fork (join) combinator 115


4.7 Summary 116

5 Design patterns against complexity 117


5.1 Shortfalls of imperative error handling 118
Error handling with try-catch 118 Reasons not to throw

exceptions in functional programs 119 Problems with ■

null-checking 121
5.2 Building a better solution: functors 121
Wrapping unsafe values 122 ■ Functors explained 124
5.3 Functional error handling using monads 127
Monads: from control flow to data flow 128 Error handling with

Maybe and Either monads 132 Interacting with external


resources using the IO monad 141


5.4 Monadic chains and compositions 144
5.5 Summary 150
xii CONTENTS

PART 3 ENHANCING YOUR FUNCTIONAL SKILLS ..........151

6 Bulletproofing your code 153


6.1 Functional programming’s influence on unit tests 154
6.2 Challenges of testing imperative programs 155
Difficulty identifying and decomposing tasks 155
Dependency on shared resources leads to inconsistent results 157
Predefined order of execution 158
6.3 Testing functional code 159
Treating a function as a black box 159 Focusing on business

logic instead of control flow 160 Separating the pure from


the impure with monadic isolation 161 Mocking external


dependencies 164
6.4 Capturing specifications with property-based testing 166
6.5 Measuring effectiveness through code coverage 172
Measuring the effectiveness of testing functional code 173
Measuring the complexity of functional code 177
6.6 Summary 179

7 Functional optimizations 180


7.1 Under the hood of function execution 181
Currying and the function context stack 183 ■
Challenges of
recursive code 186
7.2 Deferring execution using lazy evaluation 188
Avoiding computations with the alternation functional
combinator 189 Taking advantage of shortcut fusion
■ 190
7.3 Implementing a call-when-needed strategy 191
Understanding memoization 192 Memoizing computationally

intensive functions 192 Taking advantage of currying and


memoization 196 Decomposing to maximize memoization 196


Applying memoization to recursive calls 197


7.4 Recursion and tail-call optimization (TCO) 199
Converting non-tail calls to tail calls 201
7.5 Summary 203
CONTENTS xiii

8 Managing asynchronous events and data 205


8.1 Challenges of asynchronous code 206
Creating temporal dependencies among functions 207
Falling into a callback pyramid 208 Using continuation-

passing style 210


8.2 First-class asynchronous behavior with promises 214
Future method chains 216 Composing synchronous and

asynchronous behavior 221


8.3 Lazy data generation 224
Generators and recursion 226 ■ The Iterator protocol 228
8.4 Functional and reactive programming with RxJS 229
Data as observable sequences 229 Functional and reactive

programming 230 RxJS and promises 233


8.5 Summary 234

appendix JavaScript libraries used in this book 235


index 239
preface
When I was in college and graduate school, my class schedule was focused on object-
oriented design as the sole methodology for planning and architecting software sys-
tems. And, like many developers, I began my career writing object-oriented code and
building entire systems based on this paradigm.
Throughout my development career, I’ve learned and followed programming lan-
guages closely, not only because I want to learn something cool, but also because I’m
intrigued by the design decisions and philosophy that each language fosters. Just as a
new language provides a different perspective on how to approach software problems,
a new paradigm can achieve the same effect. Although the object-oriented approach
continues to be the modus operandi of software design, learning about functional
programming will open your eyes to new techniques that you can use on their own or
in parallel with any other design paradigm that fits your application.
Functional programming has been around for years, but to me it was only a minor
distraction. I had heard and read about the benefits of Haskell, Lisp, Scheme, and,
more recently, Scala, Clojure, and F# in terms of expressiveness and being highly pro-
ductive platforms; even Java, which has traditionally been known as a verbose language,
has functional artifacts that make code more succinct. Eventually, the minor distrac-
tion became impossible to avoid. And guess what? JavaScript, that object-oriented
language everyone uses, can be turned around 180 degrees and used functionally. It
turns out that this is the most powerful and effective way to use JavaScript. It took me
a long time to discover this, and in this book I want to make you aware of it so you
don’t have go on wondering why your JavaScript code is becoming so complex.

xv
xvi PREFACE

Throughout my journey as a developer, I’ve learned how to use functional pro-


gramming principles to create code that is modular, expressive, robust, easy to reason
about, and simple to test. Without a doubt, this has changed me as a software engi-
neer, so I wanted to capture and jot down my experiences somehow—perhaps in a
book. Naturally, I approached Manning, with the idea of writing a functional pro-
gramming book using the Dart programming language. I was playing around with
Dart at the time and thought that combining it with my functional background would
be a fun, unexplored, uncharted territory. I wrote a proposal, and a week later I had
an interview. During the interview, I learned that Manning was seeking a person to
write a book about functional programming in JavaScript. Because JavaScript is a lan-
guage I’m very much obsessed with, to say the least, I was thrilled to jump into this
opportunity. By writing this book, I hope to help you develop the same skills and take
your development in a new direction.
acknowledgments
Writing a book is not a trivial undertaking, and the tireless collaboration of many peo-
ple with a variety of talents brought to life the manuscript you’re holding (or reading
onscreen).
The staff at Manning were incredible and instrumental in obtaining the level of
quality we all hoped for, and I thank all of them from the bottom of my heart. Without
them, this book would not have been possible. Special thanks to Marjan Bace and
Mike Stephens for believing in the idea of this book and in me as an author; to Marina
Michaels, for giving me a map and a flashlight to navigate this maze of book-writing
challenges; to Susan Conant, for bringing me up to speed and teaching me my first
lessons about what it means to write a technical book; to Bert Bates, for giving me my
initial sparks of creativity and for his amazing insights on how to teach programming;
and to everyone on the editorial and production teams, including Mary Piergies, Janet
Vail, Kevin Sullivan, Tiffany Taylor, Katie Tennant, Dennis Dalinnik, and many others
who worked behind the scenes.
I can’t thank enough the amazing group of technical peer reviewers led by
Aleksandar Dragosavljevic—Amy Teng, Andrew Meredith, Becky Huett, Daniel Lamb,
David Barkol, Ed Griebel, Efran Cobisi, Ezra Simeloff, John Shea, Ken Fukuyama,
Peter Edwards, Subhasis Ghosh, Tanner Slayton, Thorsten Szutzkus, Wilfredo Manrique,
William E. Wheeler, and Yiling Lu—and the talented forum contributors. Their con-
tributions included catching technical mistakes, errors in terminology, and typos, and
making topic suggestions. Each pass through the review process and each piece of
feedback implemented through the forum topics shaped and molded the manuscript.

xvii
xviii ACKNOWLEDGMENTS

On the technical side, special thanks to Dean Iverson, who served as the book’s
technical editor; Daniel Lamb, who served as the book’s technical proofreader; and
Brian Hanafee, for his thorough and in-depth evaluation of the entire book. They are
the best technical editors I could have hoped for.
Last but not least, I thank my wife for always supporting me, and my family for
pushing me to become better every day and not asking why I didn’t call as often to
check in while I was writing this book. Also, thanks go to my colleagues at work for
purchasing early releases of the chapters. I am grateful to have the pleasure of work-
ing alongside such wonderful people.
about this book
Complexity is a huge beast to tame, and we’ll never get rid of it entirely; it will always
be an aspect of software development. I’ve spent countless hours and immeasurable
brainpower trying to understand what a particular piece of code does. The secret is to
control the complexity so it doesn’t grow in proportion to the size of your code base—
and functional programming can help. We’re writing more JavaScript than ever before.
We’ve gone from building small client-side event-handling routines, to heavy client-
side architectures, to complete isomorphic (server + client) JavaScript applications.
Functional programming isn’t a tool—it’s a way of thinking that can apply equally to
any of these environments.
This book is designed to teach you how to apply functional programming tech-
niques to your code using ECMAScript 6 JavaScript. The material is presented at a
gradual, steady pace and covers both theoretical and practical aspects of functional
programming. I provide additional information for advanced readers, to help you get
deeper into some of the harder concepts.

Roadmap
This book has eight chapters and is divided into three parts that guide you from fun-
damental building blocks to more-advanced and practical applications of functional
programming.

xix
xx ABOUT THIS BOOK

Part 1, “Think functionally,” paints a high-level landscape of functional JavaScript.


It also discusses core aspects of using JavaScript functionally and thinking like a func-
tional programmer:
■ Chapter 1 introduces some of the core functional concepts that are explained
in later chapters and prepares you to make the functional leap. It introduces
the main pillars of functional programming, including pure functions, side
effects, and declarative programming.
■ Chapter 2 establishes a level playing field for beginning and intermediate
JavaScript developers and acts as a refresher for more-advanced readers. In
addition, it’s sprinkled with basic functional programming concepts to prepare
you for the techniques discussed in part 2.
Part 2, “Get functional,” focuses on core functional programming techniques, includ-
ing function chains, currying, composition, monads, and more:
■ Chapter 3 introduces function chains and explores writing programs as combi-
nations of recursion and high-order functions like map, filter, and reduce. It
teaches these concepts using the Lodash.js framework.
■ Chapter 4 covers the popular techniques of currying and composition, which
increase the modularity of your code. Using a functional framework such as
Ramda.js, composition is the glue that orchestrates your entire JavaScript solution.
■ Chapter 5 provides a deep dive into more-theoretical areas of functional pro-
gramming, with a comprehensive and gradual discussion of functors and monads
in the context of error handling.

Part 3, “Enhancing your functional skills,” discusses the practical benefits of using
functional programming to tackle real-world challenges:
■ Chapter 6 reveals the inherent ease with which functional programs can be unit
tested. In addition, it introduces a rigorous, automated testing mode called
property-based testing.
■ Chapter 7 takes a look at JavaScript’s memory model, which is used to support
the evaluation of functions. This chapter also discusses techniques that help
optimize the execution time of functional JavaScript applications.
■ Chapter 8 introduces some of the main challenges JavaScript developers face
on a day-to-day basis when dealing with event-driven and asynchronous behav-
ior. It discusses how functional programming can provide elegant solutions to
reduce the complexity of existing imperative solutions with a related paradigm
known as reactive programming, implemented using RxJS.

Who should read this book


Functional Programming in JavaScript is written for JavaScript developers with at least a
basic understanding of object-oriented software and a general awareness of the chal-
lenges of modern web applications. Because JavaScript is such a ubiquitous language,
ABOUT THIS BOOK xxi

if you want an introduction to functional programming and prefer a familiar syntax,


you can take full advantage of this book instead of learning Haskell. (If you want to
ease your way into Haskell, this book isn’t the best resource, because each language
has its own idiosyncrasies that are best understood by learning it directly.)
The book will help beginning and intermediate programmers heighten their
JavaScript skills with higher-order functions, closures, function currying, composition,
as well as new JavaScript ES6 features like lambda expressions, iterators, generators,
and promises. Advanced developers will enjoy the comprehensive coverage of monads
and reactive programming as well, which can help you implement innovative ways of
tackling the arduous task of dealing with event-driven and asynchronous code, taking
full advantage of the JavaScript platform.

How to use this book


If you’re a beginner or intermediate JavaScript developer and functional program-
ming is new to you, begin with chapter 1. If you’re a strong JavaScript programmer,
you can skim through chapter 2 and move quickly into chapter 3, which begins with
function chains and overall functional design.
More-advanced users of functional JavaScript typically understand pure functions,
currying, and composition, so you may skim chapter 4 and move into functors and
monads in chapter 5.

Examples and source code


The code examples in this book use ECMAScript 6 JavaScript, which can run equally
well on either the server (Node.js) or the client. Some examples show I/O and
browser DOM APIs, but without regard for browser incompatibilities. I assume you
have experience interacting at a basic level with HTML pages and the console. No spe-
cific browser-based JavaScript is used.
The book makes heavy use of functional JavaScript libraries like Lodash.js, Ramda.js,
and others. You can find documentation and installation information in the appendix.
This book contains extensive code listings that showcase functional techniques
and, where appropriate, compare imperative versus functional designs. You can find
all the code samples at the publisher’s website, https://www.manning.com/books/
functional-programming-in-javascript, and on GitHub at https://github.com/luijar/
functional-programming-js.

Typographical conventions
The following conventions are used throughout the book:
■ Italic typeface is used to reference important terms.
■ Courier typeface is used to denote code listings, as well as elements and attri-
butes, methods names, classes, functions, and other programming artifacts.
■ Code annotations accompany some of the source code listings, highlighting
important concepts.
xxii ABOUT THIS BOOK

About the author


Luis Atencio (@luijar) is a staff software engineer for Citrix Systems in Ft. Lauderdale,
Florida. He has a B.S. and an M.S. in Computer Science and now works full-time
developing and architecting applications using JavaScript, Java, and PHP platforms.
Luis is very involved in the community and has presented frequently at local meetups
and conferences. He blogs about software engineering at luisatencio.net, writes arti-
cles for magazines and DZone, and is also the coauthor of RxJS in Action (forthcoming
from Manning in 2017).

Author Online
Purchase of Functional Programming in JavaScript includes free access to a private web
forum run by Manning Publications where you can make comments about the book,
ask technical questions, and receive help from the author and from other users. To
access the forum and subscribe to it, point your web browser to https://www.manning
.com/books/functional-programming-in-javascript. This page provides information
on how to get on the forum once you are registered, what kind of help is available,
and the rules of conduct on the forum.
Manning’s commitment to our readers is to provide a venue where a meaningful
dialog between individual readers and between readers and the author can take place.
It is not a commitment to any specific amount of participation on the part of the
author, whose contribution to Author Online remains voluntary (and unpaid). We
suggest you try asking the author some challenging questions lest his interest stray!
The Author Online forum and the archives of previous discussions will be accessible
from the publisher’s website as long as the book is in print.
Part 1

Think functionally

I t’s highly probable that most of your experience building professional appli-
cations has been with an object-oriented language. You may have heard or read
about functional programming in other books, blogs, forums, and magazine
articles, but you’ve probably never written any functional code. Don’t worry; this
is to be expected. I’ve done most of my development in an object-oriented envi-
ronment as well. Writing functional code isn’t difficult, but learning to think
functionally and letting go of old habits is. The primary goal of part 1 of this
book is to lay the foundation for and prepare your mind to embrace the func-
tional techniques discussed in parts 2 and 3.
Chapter 1 discusses what functional programming is and the mindset you
need to embrace it; it also introduces some of the most important techniques
based on pure functions, immutability, side effects, and referential transparency.
These form the backbone of all functional code and will help you transition into
functional more easily. Also, these will be the guiding principles that set the stage
for many of the design decisions we make in the following chapters.
Chapter 2 provides a first view of JavaScript as a functional language. Because
it’s so ubiquitous and mainstream, it’s an ideal language with which to teach func-
tional programming. If you aren’t a strong JavaScript developer, this chapter will
bring you up to speed with everything you need to know to understand functional
JavaScript, such as higher-order functions, closures, and scoping rules.
Becoming functional

This chapter covers


■ Thinking in functional terms
■ Learning the what and why of functional
programming
■ Understanding the principles of immutability
and pure functions
■ Functional programming techniques and their
impact on overall design

OO makes code understandable by encapsulating moving parts.


FP makes code understandable by minimizing moving parts.

—Michael Feathers (Twitter)

If you’re reading this book, chances are you’re a JavaScript developer with a work-
ing knowledge of object-oriented or structured design, and you’re curious about
functional programming. Perhaps you’ve tried to learn it before and haven’t been
able to apply it successfully at work or on your personal projects. In either case,
your main goal is to advance your development skills and improve the quality of
your code. This book can help you accomplish that.

3
Another Random Scribd Document
with Unrelated Content
We learned afterward that one of the customers saw us talking
together outside and went in and told the office, and when my
friend went up to the order clerk to sell that hundred St. Paul the
guy said:
“We’re not taking any selling orders in St. Paul, not from you.”
“Why, what’s the matter, Joe?” asked my friend.
“Nothing doing, that’s all,” answered Joe.
“Isn’t that money any good? Look it over. It’s all there.” And my
friend passed over the hundred—my hundred—in tens. He tried to
look indignant and I was looking unconcerned; but most of the other
customers were getting close to the combatants, as they always did
when there was loud talking or the slightest semblance of a scrap
between the shop and any customer. They wanted to get a line on
the merits of the case in order to get a line on the solvency of the
concern.
The clerk, Joe, who was a sort of assistant manager, came out
from behind his cage, walked up to my friend, looked at him and
then looked at me.
“It’s funny,” he said slowly—“it’s damned funny that you never
do a single thing here when your friend Livingston isn’t around. You
just sit and look at the board by the hour. Never a peep. But after he
comes in you get busy all of a sudden. Maybe you are acting for
yourself; but not in this office any more. We don’t fall for Livingston
tipping you off.”
Well, that stopped my board money. But I had made a few
hundred more than I had spent and I wondered how I could use
them, for the need of making enough money to go back to New York
with was more urgent than ever. I felt that I would do better the
next time. I had had time to think calmly of some of my foolish
plays; and then, one can see the whole better when one sees it from
a little distance. The immediate problem was to make the new stake.
One day I was in a hotel lobby, talking to some fellows I knew,
who were pretty steady traders. Everybody was talking stock
market. I made the remark that nobody could beat the game on
account of the rotten execution he got from his brokers, especially
when he traded at the market, as I did.
A fellow piped up and asked me what particular brokers I meant.
I said, “The best in the land,” and he asked who might they be. I
could see he wasn’t going to believe I ever dealt with first-class
houses.
But I said, “I mean, any member of the New York Stock
Exchange. It isn’t that they are crooked or careless, but when a man
gives an order to buy at the market he never knows what that stock
is going to cost him until he gets a report from the brokers. There
are more moves of one or two points than of ten and fifteen. But the
outside trader can’t catch the small rises or drops because of the
execution. I’d rather trade in a bucket shop any day in the week, if
they’d only let a fellow trade big.”
The man who had spoken to me I had never seen before. His
name was Roberts. He seemed very friendly disposed. He took me
aside and asked me if I had ever traded in any of the other
exchanges, and I said no. He said he knew some houses that were
members of the Cotton Exchange and the Produce Exchange and the
smaller stock exchanges. These firms were very careful and paid
special attention to the execution. He said that they had confidential
connections with the biggest and smartest houses on the New York
Stock Exchange and through their personal pull and by guaranteeing
a business of hundreds of thousands of shares a month they got
much better service than an individual customer could get.
“They really cater to the small customer,” he said. “They make a
specialty of out-of-town business and they take just as much pains
with a ten-share order as they do with one for ten thousand. They
are very competent and honest.”
“Yes. But if they pay the Stock Exchange house the regular
eighth commission, where do they come in?”
“Well, they are supposed to pay the eighth. But—you know!” He
winked at me.
“Yes,” I said. “But the one thing a Stock Exchange firm will not
do is to split commissions. The governors would rather a member
committed murder, arson and bigamy than to do business for
outsiders for less than a kosher eighth. The very life of the Stock
Exchange depends upon their not violating that one rule.”
He must have seen that I had talked with Stock Exchange
people, for he said, “Listen! Every now and then one of those pious
Stock Exchange houses is suspended for a year for violating that
rule, isn’t it? There are ways and ways of rebating so nobody can
squeal.” He probably saw unbelief in my face, for he went on: “And
besides, on certain kinds of business we—I mean, these wire houses
—charge a thirty-second extra, in addition to the eighth commission.
They are very nice about it. They never charge the extra commission
except in unusual cases, and then only if the customer has an
inactive account. It wouldn’t pay them, you know, otherwise. They
aren’t in business exclusively for their health.”
By that time I knew he was touting for some phony brokers.
“Do you know any reliable house of that kind?” I asked him.
“I know the biggest brokerage firm in the United States,” he
said. “I trade there myself. They have branches in seventy-eight
cities in the United States and Canada. They do an enormous
business. And they couldn’t very well do it year in and year out if
they weren’t strictly on the level, could they?”
“Certainly not,” I agreed. “Do they trade in the same stocks that
are dealt in on the New York Stock Exchange?”
“Of course; and on the curb and on any other exchange in this
country, or Europe. They deal in wheat, cotton, provisions; anything
you want. They have correspondents everywhere and memberships
in all the exchanges, either in their own name or on the quiet.”
I knew by that time, but I thought I’d lead him on.
“Yes,” I said, “but that does not alter the fact that the orders
have to be executed by somebody, and nobody living can guarantee
how the market will be or how close the ticker’s prices are to the
actual prices on the floor of the Exchange. By the time a man gets
the quotation here and he hands in an order and it’s telegraphed to
New York, some valuable time has gone. I might better go back to
New York and lose my money there in respectable company.”
“I don’t know anything about losing money; our customers don’t
acquire that habit. They make money. We take care of that.”
“Your customers?”
“Well, I take an interest in the firm, and if I can turn some
business their way I do so because they’ve always treated me white
and I’ve made a good deal of money through them. If you wish I’ll
introduce you to the manager.”
“What’s the name of the firm?” I asked him.
He told me. I had heard about them. They ran ads in all the
papers, calling attention to the great profits made by those
customers who followed their inside information on active stocks.
That was the firm’s great specialty. They were not a regular bucket
shop, but bucketeers, alleged brokers who bucketed their orders but
nevertheless went through an elaborate camouflage to convince the
world that they were regular brokers engaged in a legitimate
business. They were one of the oldest of that class firms.
They were the prototype at that time of the same sort of brokers
that went broke this year by the dozen. The general principles and
methods were the same, though the particular devices for fleecing
the public differed somewhat, certain details having been changed
when the old tricks became too well known.
These people used to send out tips to buy or sell a certain stock
—hundreds of telegrams advising the instant purchase of a certain
stock and hundreds recommending other customers to sell the same
stock, on the old racing-tipster plan. Then orders to buy and sell
would come in. The firm would buy and sell, say, a thousand of that
stock through a reputable Stock Exchange firm and get a regular
report on it. This report they would show to any doubting Thomas
who was impolite enough to speak about bucketing customers’
orders.
They also used to form discretionary pools in the office and as a
great favor allowed their customers to authorize them, in writing, to
trade with the customer’s money and in the customer’s name, as
they in their judgment deemed best. That way the most
cantankerous customer had no legal redress when the money
disappeared. They’d bull a stock, on paper, and put the customers in
and then they’d execute one of the old-fashioned bucket-shop drives
and wipe out hundreds of shoe-string margins. They did not spare
anyone, women, school-teachers and old men being their best bet.
“I’m sore on all brokers,” I told the tout. “I’ll have to think this
over,” and I left him so he wouldn’t talk any more to me.
I inquired about this firm. I learned that they had hundreds of
customers and although there were the usual stories I did not find
any case of a customer not getting his money from them if he won
any. The difficulty was in finding anybody who had ever won in that
office; but I did. Things seemed to be going their way just then, and
that meant that they probably would not welsh if a trade went
against them. Of course most concerns of that kind eventually go
broke. There are times when there are regular epidemics of
bucketeering bankruptcies, like the old-fashioned runs on several
banks after one of them goes up. The customers of the others get
frightened and they run to take their money out. But there are
plenty of retired bucket-shop keepers in this country.
Well, I heard nothing alarming about the tout’s firm except that
they were on the make, first, last and all the time, and that they
were not always truthful. Their specialty was trimming suckers who
wanted to get rich quick. But they always asked their customers’
permission, in writing, to take their rolls away from them.
One chap I met did tell me a story about seeing six hundred
telegrams go out one day advising customers to get aboard a certain
stock and six hundred telegrams to other customers strongly urging
them to sell that same stock, at once.
“Yes, I know the trick,” I said to the chap who was telling me.
“Yes,” he said. “But the next day they sent telegrams to the
same people advising them to close out their interest in everything
and buy—or sell—another stock. I asked the senior partner, who was
in the office, ‘Why do you do that? The first part I understand. Some
of your customers are bound to make money on paper for a while,
even if they and the others eventually lose. But by sending out
telegrams like this you simply kill them all. What’s the big idea?’
“‘Well,’ he said, ‘the customers are bound to lose their money
anyhow, no matter what they buy, or how or where or when. When
they lose their money I lose the customers. Well, I might as well get
as much of their money as I can—and then look for a new crop.’”
Well, I admit frankly that I wasn’t concerned with the business
ethics of the firm. I told you I felt sore on the Teller concern and
how it tickled me to get even with them. But I didn’t have any such
feeling about this firm. They might be crooks or they might not be
as black as they were painted. I did not propose to let them do any
trading for me, or follow their tips or believe their lies. My one
concern was with getting together a stake and returning to New York
to trade in fair amounts in an office where you did not have to be
afraid the police would raid the joint, as they did the bucket shops,
or see the postal authorities swoop down and tie up your money so
that you’d be lucky to get eight cents on the dollar a year and a half
later.
Anyhow, I made up my mind that I would see what trading
advantages of this firm offered over what you might call the
legitimate brokers. I didn’t have much money to put up as margin,
and firms that bucketed orders were naturally much more liberal in
that respect, so that a few hundred dollars went much further in
their offices.
I went down to their place and had a talk with the manager
himself. When he found out that I was an old trader and had
formerly had accounts in New York with Stock Exchange houses and
that I had lost all I took with me he stopped promising to make a
million a minute for me if I let them invest my savings. He figured
that I was a permanent sucker, the ticker-hound kind that always
plays and always loses; a steady-income provider for brokers,
whether they were the kind that bucket your orders or modestly
content themselves with the commissions.
I just told the manager that what I was looking for was decent
execution, because I always traded at the market and I didn’t want
to get reports that showed a difference of a half or a whole point
from the ticker price.
He assured me on his word of honor that they would do
whatever I thought was right. They wanted my business because
they wanted to show me what high-class brokering was. They had in
their employ the best talent in the business. In fact, they were
famous for their execution. If there was any difference between the
ticker price and the report it was always in favor of the customer,
though of course they didn’t guarantee that. If I opened an account
with them I could buy and sell at the price which came over the
wire, they were so confident of their brokers.
Naturally that meant that I could trade there to all intents and
purposes as though I were in a bucket shop—that is, they’d let me
trade at the next quotation. I didn’t want to appear too anxious, so I
shook my head and told him I guessed I wouldn’t open an account
that day, but I’d let him know. He urged me strongly to begin right
way as it was a good market to make money in. It was—for them; a
dull market with prices seesawing slightly, just the kind to get
customers in and then wipe them out with a sharp drive in the
tipped stock. I had some trouble in getting away.
I had given him my name and address, and that very same day I
began to get prepaid telegrams and letters urging me to get aboard
of some stock or other in which they said they knew an inside pool
was operating for a fifty-point rise.
I was busy going around and finding out all I could about several
other brokerage concerns of the same bucketing kind. It seemed to
me that if I could be sure of getting my winnings out of their
clutches the only way of my getting together some real money was
to trade in these near bucket shops.
When I had learned all I could I opened accounts with three
firms. I had taken a small office and had direct wires run to the
three brokers.
I traded in a small way so they wouldn’t get frightened off at the
very start. I made money on balance and they were not slow in
telling me that they expected real business from customers who had
direct wires to their offices. They did not hanker for pikers. They
figured that the more I did the more I’d lose, and the more quickly I
was wiped out the more they’d make. It was a sound enough theory
when you consider that these people necessarily dealt with averages
and the average customer was never long-lived, financially speaking.
A busted customer can’t trade. A half-crippled customer can whine
and insinuate things and make trouble of one or another kind that
hurts business.
I also established a connection with a local firm that had a direct
wire to its New York correspondent, who were also members of the
New York Stock Exchange. I had a stock ticker put in and I began to
trade conservatively. As I told you, it was pretty much like trading in
bucket shops, only it was a little slower.
It was a game that I could beat, and I did. I never got it down
to such a fine point that I could win ten times out of ten; but I won
on balance, taking it week in and week out. I was again living pretty
well, but always saving something, to increase the stake that I was
to take back to Wall Street. I got a couple of wires into two more of
these bucketing brokerage houses, making five in all—and, of
course, my good firm.
There were times when my plans went wrong and my stocks did
not run true to form, but they did the opposite of what they should
have done if they had kept up their regard for precedent. But they
did not hit me very hard—they couldn’t, with my shoestring margins.
My relations with my brokers were friendly enough. Their accounts
and records did not always agree with mine, and the differences
uniformly happened to be against me. Curious coincidence—not! But
I fought for my own and usually had my way in the end. They
always had the hope of getting away from me what I had taken from
them. They regarded my winnings as temporary loans, I think.
They really were not sporty, being in the business to make
money by hook or by crook instead of being content with the house
percentage. Since suckers always lose money when they gamble in
stocks—they never really speculate—you’d think these fellows would
run what you might call a legitimate illegitimate business. But they
didn’t. “Copper your customers and grow rich” is an old and true
adage, but they did not seem ever to have heard of it and didn’t
stop at plain bucketing.
Several times they tried to double-cross me with the old tricks.
They caught me a couple of times because I wasn’t looking. They
always did that when I had taken no more than my usual line. I
accused them of being short sports or worse, but they denied it and
it ended by my going back to trading as usual. The beauty of doing
business with a crook is that he always forgives you for catching
him, so long as you don’t stop doing business with him. It’s all right
as far as he is concerned. He is willing to meet you more than half-
way. Magnanimous souls!
Well, I made up my mind that I couldn’t afford to have the
normal rate of increase of my stake impaired by crooks’ tricks, so I
decided to teach them a lesson. I picked out some stock that after
having been a speculative favorite had become inactive. Water-
logged. If I had taken one that never had been active they would
have suspected my play. I gave out buying orders on this stock to
my five bucketeering brokers. When the orders were taken and they
were waiting for the next quotation to come out on the tape I sent
in an order through my Stock Exchange house to sell a hundred
shares of that particular stock at the market. I urgently asked for
quick action. Well, you can imagine what happened when the selling
order got to the floor of the Exchange; a dull inactive stock that a
commission house with out-of-town connections wanted to sell in a
hurry. Somebody got cheap stock. But the transaction as it would be
printed on the tape was the price that I would pay on my five buying
orders. I was long on balance four hundred shares of that stock at a
low figure. The wire house asked me what I’d heard, and I said I
had a tip on it. Just before the close of the market I sent an order to
my reputable house to buy back that hundred shares, and not waste
any time; that I didn’t want to be short under any circumstances;
and I didn’t care what they paid. So they wired to New York and the
order to buy that hundred quick resulted in a sharp advance. I of
course had put in selling orders for the five hundred shares that my
friends had bucketed. It worked very satisfactorily.
Still, they didn’t mend their ways, and so I worked that trick on
them several times. I did not dare punish them as severely as they
deserved, seldom more than a point or two on a hundred shares.
But it helped to swell my little hoard that I was saving for my next
Wall Street venture. I sometimes varied the process by selling some
stock short, without overdoing it. I was satisfied with my six or eight
hundred clear for each crack.
One day the stunt worked so well that it went far beyond all
calculations for a ten-point swing. I wasn’t looking for it. As a matter
of fact it so happened that I had two hundred shares instead of my
usual hundred at one broker’s, though only a hundred in the four
other shops. That was too much of a good thing—for them. They
were sore as pups about it and they began to say things over the
wires. So I went and saw the manager, the same man who had been
so anxious to get my account, and so forgiving every time I caught
him trying to put something over on me. He talked pretty big for a
man in his position.
“That was a fictitious market for that stock, and we won’t pay
you a damned cent!” he swore.
“It wasn’t a fictitious market when you accepted my order to
buy. You let me in then, all right, and now you’ve got to let me out.
You can’t get around that for fairness, can you?”
“Yes, I can!” he yelled. “I can prove that somebody put up a
job.”
“Who put up a job?” I asked.
“Somebody!”
“Who did they put it up on?” I asked.
“Some friends of yours were in it as sure as pop,” he said.
But I told him, “You know very well that I play a lone hand.
Everybody in this town knows that. They’ve known it ever since I
started trading in stocks. Now I want to give you some friendly
advice: you just send and get that money for me. I don’t want to be
disagreeable. Just do what I tell you.”
“I won’t pay it. It was a rigged-up transaction,” he yelled.
I got tired of his talk. So I told him: “You’ll pay it to me right
now and here.”
Well, he blustered a little more and accused me flatly of being
the guilty thimblerigger; but he finally forked over the cash. The
others were not so rambunctious. In one office the manager had
been studying these inactive-stock plays of mine and when he got
my order he actually bought the stock for me and then some for
himself in the Little Board, and he made some money. These fellows
didn’t mind being sued by customers on charges of fraud, as they
generally had a good technical legal defense ready. But they were
afraid I’d attach the furniture—the money in the bank I couldn’t
because they took care not to have any funds exposed to that
danger. It would not hurt them to be known as pretty sharp, but to
get a reputation for welshing was fatal. For a customer to lose
money at his broker’s is no rare event. But for a customer to make
money and then not get it is the worst crime on the speculators’
statute books.
I got my money from all; but that ten-point jump put an end to
the pleasing pastime of skinning skinners. They were on the lookout
for the little trick that they themselves had used to defraud hundreds
of poor customers. I went back to my regular trading; but the
market wasn’t always right for my system—that is, limited as I was
by the size of the orders they would take, I couldn’t make a killing.
I had been at it over a year, during which I used every device
that I could think of to make money trading in those wire houses. I
had lived very comfortably, bought an automobile and didn’t limit
myself about my expenses. I had to make a stake, but I also had to
live while I was doing it. If my position on the market was right I
couldn’t spend as much as I made, so that I’d always be saving
some. If I was wrong I didn’t make any money and therefore
couldn’t spend. As I said, I had saved up a fair-sized roll, and there
wasn’t so much money to be made in the five wire houses; so I
decided to return to New York.
I had my own automobile and I invited a friend of mine who also
was a trader to motor to New York with me. He accepted and we
started. We stopped at New Haven for dinner. At the hotel I met an
old trading acquaintance, and among other things he told me there
was a shop in town that had a wire and was doing a pretty good
business.
We left the hotel on our way to New York, but I drove by the
street where the bucket shop was to see what the outside looked
like. We found it and couldn’t resist the temptation to stop and have
a look at the inside. It wasn’t very sumptuous, but the old
blackboard was there, and the customers, and the game was on.
The manager was a chap who looked as if he had been an actor
or a stump speaker. He was very impressive. He’d say good morning
as though he had discovered the morning’s goodness after ten years
of searching for it with a microscope and was making you a present
of the discovery as well as of the sky, the sun and the firm’s bank
roll. He saw us come up in the sporty-looking automobile, and as
both of us were young and careless—I don’t suppose I looked
twenty—he naturally concluded we were a couple of Yale boys. I
didn’t tell him we weren’t. He didn’t give me a chance, but began
delivering a speech. He was very glad to see us. Would we have a
comfortable seat? The market, we would find, was philanthropically
inclined that morning; in fact, clamoring to increase the supply of
collegiate pocket money, of which no intelligent undergraduate ever
had a sufficiency since the dawn of historic time. But here and now,
by the beneficence of the ticker, a small initial investment would
return thousands. More pocket money than anybody could spend
was what the stock market yearned to yield.
Well, I thought it would be a pity not to do as the nice man of
the bucket shop was so anxious to have us do, so I told him I would
do as he wished, because I had heard that lots of people made lots
of money in the stock market.
I began to trade, very conservatively, but increasing the line as I
won. My friend followed me.
We stayed overnight in New Haven and the next morning found
us at the hospitable shop at five minutes to ten. The orator was glad
to see us, thinking his turn would come that day. But I cleaned up
within a few dollars of fifteen hundred. The next morning when we
dropped in on the great orator, and handed him an order to sell five
hundred Sugar he hesitated, but finally accepted it—in silence! The
stock broke over a point and I closed out and gave him the ticket.
There was exactly five hundred dollars coming to me in profits, and
my five hundred dollar margin. He took twenty fifties from the safe,
counted them three times very slowly, then he counted them again
in front of me. It looked as if his fingers were sweating mucilage the
way the notes seemed to stick to him, but finally he handed the
money to me. He folded his arms, bit his lower lip, kept it bit, and
stared at the top of a window behind me.
I told him I’d like to sell two hundred Steel. But he never stirred.
He didn’t hear me. I repeated my wish, only I made it three hundred
shares. He turned his head. I waited for the speech. But all he did
was to look at me. Then he smacked his lips and swallowed—as if he
was going to start an attack on fifty years of political misrule by the
unspeakable grafters of the opposition.
Finally he waved his hand toward the yellow-backs in my hand
and said, “Take away that bauble!”
“Take away what?” I said. I hadn’t quite understood what he
was driving at.
“Where are you going, student?” He spoke very impressively.
“New York,” I told him.
“That’s right,” he said, nodding about twenty times. “That is ex-
actly right. You are going away from here all right, because now I
know two things—two, student! I know what you are not, and I
know what you are. Yes! Yes! Yes!”
“Is that so?” I said very politely.
“Yes. You two—” He paused; and then he stopped being in
Congress and snarled: “You two are the biggest sharks in the United
States of America! Students? Ye-eh! You must be Freshmen! Ye-eh!”
We left him talking to himself. He probably didn’t mind the
money so much. No professional gambler does. It’s all in the game
and the luck’s bound to turn. It was his being fooled in us that hurt
his pride.
That is how I came back to Wall Street for a third attempt. I had
been studying, of course, trying to locate the exact trouble with my
system that had been responsible for my defeats in A. R. Fullerton &
Co.’s office. I was twenty when I made my first ten thousand, and I
lost that. But I knew how and why—because I traded out of season
all the time; because when I couldn’t play according to my system,
which was based on study and experience, I went in and gambled. I
hoped to win, instead of knowing that I ought to win on form. When
I was about twenty-two I ran up my stake to fifty thousand dollars; I
lost it on May ninth. But I knew exactly why and how. It was the
laggard tape and the unprecedented violence of the movements that
awful day. But I didn’t know why I had lost after my return from St.
Louis or after the May ninth panic. I had theories—that is, remedies
for some of the faults that I thought I found in my play. But I
needed actual practice.
There is nothing like losing all you have in the world for teaching
you what not to do. And when you know what not to do in order not
to lose money, you begin to learn what to do in order to win. Did
you get that? You begin to learn!
V
The average ticker hound—or, as they used to call him, tape-worm—
goes wrong, I suspect, as much from over-specialization as from
anything else. It means a highly expensive inelasticity. After all, the
game of speculation isn’t all mathematics or set rules, however rigid
the main laws may be. Even in my tape reading something enters
that is more than mere arithmetic. There is what I call the behavior
of a stock, actions that enable you to judge whether or not it is
going to proceed in accordance with the precedents that your
observation has noted. If a stock doesn’t act right don’t touch it;
because, being unable to tell precisely what is wrong, you cannot tell
which way it is going. No diagnosis, no prognosis. No prognosis, no
profit.
It is a very old thing, this of noting the behavior of a stock and
studying its past performances. When I first came to New York there
was a broker’s office where a Frenchman used to talk about his
chart. At first I thought he was a sort of pet freak kept by the firm
because they were good-natured. Then I learned that he was a
persuasive and most impressive talker. He said that the only thing
that didn’t lie because it simply couldn’t was mathematics. By means
of his curves he could forecast market movements. Also he could
analyse them, and tell, for instance, why Keene did the right thing in
his famous Atchison preferred bull manipulation, and later why he
went wrong in his Southern Pacific pool. At various times one or
another of the professional traders tried the Frenchman’s system—
and then went back to their old unscientific methods of making a
living. Their hit-or-miss system was cheaper, they said. I heard that
the Frenchman said Keene admitted that the chart was 100 per cent
right but claimed that the method was too slow for practical use in
an active market.
Then there was one office where a chart of the daily movement
of prices was kept. It showed at a glance just what each stock had
done for months. By comparing individual curves with the general
market curve and keeping in mind certain rules the customers could
tell whether the stock on which they got an unscientific tip to buy
was fairly entitled to a rise. They used the chart as a sort of
complementary tipster. To-day there are scores of commission
houses where you find trading charts. They come ready-made from
the offices of statistical experts and include not only stocks but
commodities.
I should say that a chart helps those who can read it or rather
who can assimilate what they read. The average chart reader,
however, is apt to become obsessed with the notion that the dips
and peaks and primary and secondary movements are all there is to
stock speculation. If he pushes his confidence to its logical limit he is
bound to go broke. There is an extremely able man, a former
partner of a well-known Stock Exchange house, who is really a
trained mathematician. He is a graduate of a famous technical
school. He devised charts based upon a very careful and minute
study of the behaviour of prices in many markets—stocks, bonds,
grain, cotton, money, and so on. He went back years and years and
traced the correlations and seasonal movements—oh, everything. He
used his charts in his stock trading for years. What he really did was
to take advantage of some highly intelligent averaging. They tell me
he won regularly—until the World War knocked all precedents into a
cocked hat. I heard that he and his large following lost millions
before they desisted. But not even a world war can keep the stock
market from being a bull market when conditions are bullish, or a
bear market when conditions are bearish. And all a man needs to
know to make money is to appraise conditions.
I didn’t mean to get off the track like that, but I can’t help it
when I think of my first few years in Wall Street. I know now what I
did not know then, and I think of the mistakes of my ignorance
because those are the very mistakes that the average stock
speculator makes year in and year out.
After I got back to New York to try for the third time to beat the
market in a Stock Exchange house I traded quite actively. I didn’t
expect to do as well as I did in the bucket shops, but I thought that
after a while I would do much better because I would be able to
swing a much heavier line. Yet, I can see now that my main trouble
was my failure to grasp the vital difference between stock gambling
and stock speculation. Still, by reason of my seven years’ experience
in reading the tape and a certain natural aptitude for the game, my
stake was earning not indeed a fortune but a very high rate of
interest. I won and lost as before, but I was winning on balance.
The more I made the more I spent. This is the usual experience with
most men. No, not necessarily with easy-money pickers, but with
every human being who is not a slave of the hoarding instinct. Some
men, like old Russell Sage, have the money-making and the money-
hoarding instinct equally well developed, and of course they die
disgustingly rich.
The game of beating the market exclusively interested me from
ten to three every day, and after three, the game of living my life.
Don’t misunderstand me. I never allowed pleasure to interfere with
business. When I lost it was because I was wrong and not because I
was suffering from dissipation or excesses. There never were any
shattered nerves or rum-shaken limbs to spoil my game. I couldn’t
afford anything that kept me from feeling physically and mentally fit.
Even now I am usually in bed by ten. As a young man I never kept
late hours, because I could not do business properly on insufficient
sleep. I was doing better than breaking even and that is why I didn’t
think there was any need to deprive myself of the good things of
life. The market was always there to supply them. I was acquiring
the confidence that comes to a man from a professionally
dispassionate attitude toward his own method of providing bread
and butter for himself.
The first change I made in my play was in the matter of time. I
couldn’t wait for the sure thing to come along and then take a point
or two out of it as I could in the bucket shops. I had to start much
earlier if I wanted to catch the move in Fullerton’s office. In other
words, I had to study what was going to happen; to anticipate stock
movements. That sounds asininely commonplace, but you know
what I mean. It was the change in my own attitude toward the
game that was of supreme importance to me. It taught me, little by
little, the essential difference between betting on fluctuations and
anticipating inevitable advances and declines, between gambling and
speculating.
I had to go further back than an hour in my studies of the
market—which was something I never would have learned to do in
the biggest bucket shop in the world. I interested myself in trade
reports and railroad earnings and financial and commercial statistics.
Of course I loved to trade heavily and they called me the Boy
Plunger; but I also liked to study the moves. I never thought that
anything was irksome if it helped me to trade more intelligently.
Before I can solve a problem I must state it to myself. When I think I
have found the solution I must prove I am right. I know of only one
way to prove it; and that is, with my own money.
Slow as my progress seems now, I suppose I learned as fast as I
possibly could, considering that I was making money on balance. If I
had lost oftener perhaps it might have spurred me to more
continuous study. I certainly would have had more mistakes to spot.
But I am not sure of the exact value of losing, for if I had lost more I
would have lacked the money to test out the improvements in my
methods of trading.
Studying my winning plays in Fullerton’s office I discovered that
although I often was 100 per cent right on the market—that is, in
my diagnosis of conditions and general trend—I was not making as
much money as my market “rightness” entitled me to. Why wasn’t I?
There was as much to learn from partial victory as from defeat.
For instance, I had been bullish from the very start of a bull
market, and I had backed my opinion by buying stocks. An advance
followed, as I had clearly foreseen. So far, all very well. But what
else did I do? Why, I listened to the elder statesmen and curbed my
youthful impetuousness. I made up my mind to be wise and play
carefully, conservatively. Everybody knew that the way to do that
was to take profits and buy back your stocks on reactions. And that
is precisely what I did, or rather what I tried to do; for I often took
profits and waited for a reaction that never came. And I saw my
stock go kiting up ten points more and I sitting there with my four-
point profit safe in my conservative pocket. They say you never grow
poor taking profits. No, you don’t. But neither do you grow rich
taking a four-point profit in a bull market.
Where I should have made twenty thousand dollars I made two
thousand. That was what my conservatism did for me. About the
time I discovered what a small percentage of what I should have
made I was getting I discovered something else, and that is that
suckers differ among themselves according to the degree of
experience.
The tyro knows nothing, and everybody, including himself,
knows it. But the next, or second, grade thinks he knows a great
deal and makes others feel that way too. He is the experienced
sucker, who has studied—not the market itself but a few remarks
about the market made by a still higher grade of suckers. The
second-grade sucker knows how to keep from losing his money in
some of the ways that get the raw beginner. It is this semisucker
rather than the 100 per cent article who is the real all-the-year-
round support of the commission houses. He lasts about three and a
half years on an average, as compared with a single season of from
three to thirty weeks, which is the usual Wall Street life of a first
offender. It is naturally the semisucker who is always quoting the
famous trading aphorisms and the various rules of the game. He
knows all the don’ts that ever fell from the oracular lips of the old
stagers—excepting the principal one, which is: Don’t be a sucker!
This semisucker is the type that thinks he has cut his wisdom
teeth because he loves to buy on declines. He waits for them. He
measures his bargains by the number of points it has sold off from
the top. In big bull markets the plain unadulterated sucker, utterly
ignorant of rules and precedents, buys blindly because he hopes
blindly. He makes most of the money—until one of the healthy
reactions takes it away from him at one fell swoop. But the Careful
Mike sucker does what I did when I thought I was playing the game
intelligently—according to the intelligence of others. I knew I needed
to change my bucket-shop methods and I thought I was solving my
problem with any change, particularly one that assayed high gold
values according to the experienced traders among the customers.
Most—let us call ’em customers—are alike. You find very few
who can truthfully say that Wall Street doesn’t owe them money. In
Fullerton’s there were the usual crowd. All grades! Well, there was
one old chap who was not like the others. To begin with, he was a
much older man. Another thing was that he never volunteered
advice and never bragged of his winnings. He was a great hand for
listening very attentively to the others. He did not seem very keen to
get tips—that is, he never asked the talkers what they’d heard or
what they knew. But when somebody gave him one he always
thanked the tipster very politely. Sometimes he thanked the tipster
again—when the tip turned out O.K. But if it went wrong he never
whined, so that nobody could tell whether he followed it or let it
slide by. It was a legend of the office that the old jigger was rich and
could swing quite a line. But he wasn’t donating much to the firm in
the way of commissions; at least not that anyone could see. His
name was Partridge, but they nicknamed him Turkey behind his
back, because he was so thick-chested and had a habit of strutting
about the various rooms, with the point of his chin resting on his
breast.
The customers, who were all eager to be shoved and forced into
doing things so as to lay the blame for failure on others, used to go
to old Partridge and tell him what some friend of a friend of an
insider had advised them to do in a certain stock. They would tell
him what they had not done with the tip so he would tell them what
they ought to do. But whether the tip they had was to buy or to sell,
the old chap’s answer was always the same.
The customer would finish the tale of his perplexity and then
ask: “What do you think I ought to do?”
Old Turkey would cock his head to one side, contemplate his
fellow customer with a fatherly smile, and finally he would say very
impressively, “You know, it’s a bull market!”
Time and again I heard him say, “Well, this is a bull market, you
know!” as though he were giving to you a priceless talisman
wrapped up in a million-dollar accident-insurance policy. And of
course I did not get his meaning.
One day a fellow named Elmer Harwood rushed into the office,
wrote out an order and gave it to the clerk. Then he rushed over to
where Mr. Partridge was listening politely to John Fanning’s story of
the time he overheard Keene give an order to one of his brokers and
all that John made was a measly three points on a hundred shares
and of course the stock had to go up twenty-four points in three
days right after John sold out. It was at least the fourth time that
John had told him that tale of woe, but old Turkey was smiling as
sympathetically as if it was the first time he heard it.
Well, Elmer made for the old man and, without a word of
apology to John Fanning, told Turkey, “Mr. Partridge, I have just sold
my Climax Motors. My people say the market is entitled to a reaction
and that I’ll be able to buy it back cheaper. So you’d better do
likewise. That is, if you’ve still got yours.”
Elmer looked suspiciously at the man to whom he had given the
original tip to buy. The amateur, or gratuitous, tipster always thinks
he owns the receiver of his tip body and soul, even before he knows
how the tip is going to turn out.
“Yes, Mr. Harwood, I still have it. Of course!” said Turkey
gratefully. It was nice of Elmer to think of the old chap.
“Well, now is the time to take your profit and get in again on the
next dip,” said Elmer, as if he had just made out the deposit slip for
the old man. Failing to perceive enthusiastic gratitude in the
beneficiary’s face, Elmer went on: “I have just sold every share I
owned!”
From his voice and manner you would have conservatively
estimated it at ten thousand shares.
But Mr. Partridge shook his head regretfully and whined, “No!
No! I can’t do that!”
“What?” yelled Elmer.
“I simply can’t!” said Mr. Partridge. He was in great trouble.
“Didn’t I give you the tip to buy it?”
“You did, Mr. Harwood, and I am very grateful to you. Indeed, I
am, sir. But——”
“Hold on! Let me talk! And didn’t that stock go up seven points
in ten days? Didn’t it?”
“It did, and I am much obliged to you, my dear boy. But I
couldn’t think of selling that stock.”
“You couldn’t?” asked Elmer, beginning to look doubtful himself.
It is a habit with most tip givers to be tip takers.
“No, I couldn’t.”
“Why not?” And Elmer drew nearer.
“Why, this is a bull market!” The old fellow said it as though he
had given a long and detailed explanation.
“That’s all right,” said Elmer, looking angry because of his
disappointment. “I know this is a bull market as well as you do. But
you’d better slip them that stock of yours and buy it back on the
reaction. You might as well reduce the cost to yourself.”
“My dear boy,” said old Partridge, in great distress—“my dear
boy, if I sold that stock now I’d lose my position; and then where
would I be?”
Elmer Harwood threw up his hands, shook his head and walked
over to me to get sympathy: “Can you beat it?” he asked me in a
stage whisper. “I ask you!”
I didn’t say anything. So he went on: “I give him a tip on Climax
Motors. He buys five hundred shares. He’s got seven points’ profit
and I advise him to get out and buy ’em back on the reaction that’s
overdue even now. And what does he say when I tell him? He says
that if he sells he’ll lose his job. What do you know about that?”
“I beg your pardon, Mr. Harwood; I didn’t say I’d lose my job,”
cut in old Turkey. “I said I’d lose my position. And when you are as
old as I am and you’ve been through as many booms and panics as
I have, you’ll know that to lose your position is something nobody
can afford; not even John D. Rockefeller. I hope the stock reacts and
that you will be able to repurchase your line at a substantial
concession, sir. But I myself can only trade in accordance with the
experience of many years. I paid a high price for it and I don’t feel
like throwing away a second tuition fee. But I am as much obliged to
you as if I had the money in the bank. It’s a bull market, you know.”
And he strutted away, leaving Elmer dazed.
What old Mr. Partridge said did not mean much to me until I
began to think about my own numerous failures to make as much
money as I ought to when I was so right on the general market. The
more I studied the more I realized how wise that old chap was. He
had evidently suffered from the same defect in his young days and
knew his own human weaknesses. He would not lay himself open to
a temptation that experience had taught him was hard to resist and
had always proved expensive to him, as it was to me.
I think it was a long step forward in my education when I
realized at last that when old Mr. Partridge kept on telling the other
customers, “Well, you know this is a bull market!” he really meant to
tell them that the big money was not in the individual fluctuations
but in the main movements—that is, not in reading the tape but in
sizing up the entire market and its trend.
And right here let me say one thing: After spending many years
in Wall Street and after making and losing millions of dollars I want
to tell you this: It never was my thinking that made the big money
for me. It was always my sitting. Got that? My sitting tight! It is no
trick at all to be right on the market. You always find lots of early
bulls in bull markets and early bears in bear markets. I’ve known
many men who were right at exactly the right time, and began
buying or selling stocks when prices were at the very level which
should show the greatest profit. And their experience invariably
matched mine—that is, they made no real money out of it. Men who
can both be right and sit tight are uncommon. I found it one of the
hardest things to learn. But it is only after a stock operator has
firmly grasped this that he can make big money. It is literally true
that millions come easier to a trader after he knows how to trade
than hundreds did in the days of his ignorance.
The reason is that a man may see straight and clearly and yet
become impatient or doubtful when the market takes its time about
doing as he figured it must do. That is why so many men in Wall
Street, who are not at all in the sucker class, not even in the third
grade, nevertheless lose money. The market does not beat them.
They beat themselves, because though they have brains they cannot
sit tight. Old Turkey was dead right in doing and saving what he did.
He had not only the courage of his convictions but the intelligent
patience to sit tight.
Disregarding the big swing and trying to jump in and out was
fatal to me. Nobody can catch all the fluctuations. In a bull market
your game is to buy and hold until you believe that the bull market is
near its end. To do this you must study the general conditions and
not tips or special factors affecting individual stocks. Then get out of
all your stocks; get out for keeps! Wait until you see—or if you
prefer, until you think you see—the turn of the market; the
beginning of a reversal of general conditions. You have to use your
brains and your vision to do this; otherwise my advice would be as
idiotic as to tell you to buy cheap and sell dear. One of the most
helpful things that anybody can learn is to give up trying to catch
the last eighth—or the first. These two are the most expensive
eighths in the world. They have cost stock traders, in the aggregate,
enough millions of dollars to build a concrete highway across the
continent.
Another thing I noticed in studying my plays in Fullerton’s office
after I began to trade less unintelligently was that my initial
operations seldom showed me a loss. That naturally made me
decide to start big. It gave me confidence in my own judgment
before I allowed it to be vitiated by the advice of others or even by
my own impatience at times. Without faith in his own judgment no
man can go very far in this game. That is about all I have learned—
to study general conditions, to take a position and stick to it. I can
wait without a twinge of impatience. I can see a setback without
being shaken, knowing that it is only temporary. I have been short
one hundred thousand shares and I have seen a big rally coming. I
have figured—and figured correctly—that such a rally as I felt was
inevitable, and even wholesome, would make a difference of one
million dollars in my paper profits. And I nevertheless have stood pat
and seen half my paper profit wiped out, without once considering
the advisability of covering my shorts to put them out again on the
rally. I knew that if I did I might lose my position and with it the
certainty of a big killing. It is the big swing that makes the big
money for you.
If I learned all this so slowly it was because I learned by my
mistakes, and some time always elapses between making a mistake
and realizing it, and more time between realizing it and exactly
determining it. But at the same time I was faring pretty comfortably
and was very young, so that I made up in other ways. Most of my
winnings were still made in part through my tape reading because
the kind of markets we were having lent themselves fairly well to my
method. I was not losing either as often or as irritatingly as in the
beginning of my New York experiences. It wasn’t anything to be
proud of, when you think that I had been broke three times in less
than two years. And as I told you, being broke is a very efficient
educational agency.
I was not increasing my stake very fast because I lived up to the
handle all the time. I did not deprive myself of many of the things
that a fellow of my age and tastes would want. I had my own
automobile and I could not see any sense in skimping on living when
I was taking it out of the market. The ticker only stopped Sundays
and holidays, which was as it should be. Every time I found the
reason for a loss or the why and how of another mistake, I added a
brand-new Don’t! to my schedule of assets. And the nicest way to
capitalize my increasing assets was by not cutting down on my living
expenses. Of course I had some amusing experiences and some that
were not so amusing, but if I told them all in detail I’d never finish.
As a matter of fact, the only incidents that I remember without
special effort are those that taught me something of definite value to
me in my trading; something that added to my store of knowledge
of the game—and of myself!
VI
In the spring of 1906 I was in Atlantic City for a short vacation. I was
out of stocks and was thinking only of having a change of air and a
nice rest. By the way, I had gone back to my first brokers, Harding
Brothers, and my account had got to be pretty active. I could swing
three or four thousand shares. That wasn’t much more than I had
done in the old Cosmopolitan shop when I was barely twenty years
of age. But there was some difference between my one-point margin
in the bucket shop and the margin required by brokers who actually
bought or sold stocks for my account on the New York Stock
Exchange.
You may remember the story I told you about that time when I
was short thirty-five hundred Sugar in the Cosmopolitan and I had a
hunch something was wrong and I’d better close the trade? Well, I
have often had that curious feeling. As a rule, I yield to it. But at
times I have pooh-poohed the idea and have told myself that it was
simply asinine to follow any of these sudden blind impulses to
reverse my position. I have ascribed my hunch to a state of nerves
resulting from too many cigars or insufficient sleep or a torpid liver
or something of that kind. When I have argued myself into
disregarding my impulse and have stood pat I have always had
cause to regret it. A dozen instances occur to me when I did not sell
as per hunch, and the next day I’d go downtown and the market
would be strong, or perhaps even advance, and I’d tell myself how
silly it would have been to obey the blind impulse to sell. But on the
following day there would be a pretty bad drop. Something had
broken loose somewhere and I’d have made money by not being so
wise and logical. The reason plainly was not physiological but
psychological.
I want to tell you only about one of them because of what it did
for me. It happened when I was having that little vacation in Atlantic
City in the spring of 1906. I had a friend with me who also was a
customer of Harding Brothers. I had no interest in the market one
way or another and was enjoying my rest. I can always give up
trading to play, unless of course it is an exceptionally active market
in which my commitments are rather heavy. It was a bull market, as
I remember it. The outlook was favorable for general business and
the stock market had slowed down but the tone was firm and all
indications pointed to higher prices.
One morning after we had breakfasted and had finished reading
all the New York morning papers, and had got tired of watching the
sea gulls picking up clams and flying up with them twenty feet in the
air and dropping them on the hard wet sand to open them for their
breakfast, my friend and I started up the Boardwalk. That was the
most exciting thing we did in the daytime.
It was not noon yet, and we walked up slowly to kill time and
breathe the salt air. Harding Brothers had a branch office on the
Boardwalk and we used to drop in every morning and see how
they’d opened. It was more force of habit than anything else, for I
wasn’t doing anything.
The market, we found, was strong and active. My friend, who
was quite bullish, was carrying a moderate line purchased several
points lower. He began to tell me what an obviously wise thing it
was to hold stocks for much higher prices. I wasn’t paying enough
attention to him to take the trouble to agree with him. I was looking
over the quotation board, noting the changes—they were mostly
advances—until I came to Union Pacific. I got a feeling that I ought
to sell it. I can’t tell you more. I just felt like selling it. I asked myself
why I should feel like that, and I couldn’t find any reason whatever
for going short of UP.
I stared at the last price on the board until I couldn’t see any
figures or any board or anything else, for that matter. All I knew was
that I wanted to sell Union Pacific and I couldn’t find out why I
wanted to.
I must have looked queer, for my friend, who was standing
alongside of me, suddenly nudged me and asked, “Hey, what’s the
matter?”
“I don’t know,” I answered.
“Going to sleep?” he said.
“No,” I said. “I am not going to sleep. What I am going to do is
to sell that stock.” I had always made money following my hunches.
I walked over to a table where there were some blank order
pads. My friend followed me. I wrote out an order to sell a thousand
Union Pacific at the market and handed it to the manager. He was
smiling when I wrote it and when he took it. But when he read the
order he stopped smiling and looked at me.
“Is this right?” he asked me. But I just looked at him and he
rushed it over to the operator.
“What are you doing?” asked my friend.
“I’m selling it!” I told him.
“Selling what?” he yelled at me. If he was a bull how could I be
a bear? Something was wrong.
“A thousand UP.,” I said.
“Why?” he asked me in great excitement.
I shook my head, meaning I had no reason. But he must have
thought I’d got a tip, because he took me by the arm and led me
outside into the hall, where we could be out of sight and hearing of
the other customers and rubbering chairwarmers.
“What did you hear?” he asked me.
He was quite excited. UP. was one of his pets and he was bullish
on it because of its earnings and its prospects. But he was willing to
take a bear tip on it at second hand.
“Nothing!” I said.
“You didn’t?” He was skeptical and showed it plainly.
“I didn’t hear a thing.”
“Then why in blazes are you selling?”
“I don’t know,” I told him. I spoke gospel truth.
“Oh, come across, Larry,” he said.
He knew it was my habit to know why I traded. I had sold a
thousand shares of Union Pacific. I must have a very good reason to
sell that much stock in the face of the strong market.
“I don’t know,” I repeated. “I just feel that something is going to
happen.”
“What’s going to happen?”
“I don’t know. I can’t give you any reason. All I know is that I
want to sell that stock. And I’m going to let ’em have another
thousand.”
I walked back into the office and gave an order to sell a second
thousand. If I was right in selling the first thousand I ought to have
out a little more.
“What could possibly happen?” persisted my friend, who couldn’t
make up his mind to follow my lead. If I’d told him that I had heard
UP. was going down he’d have sold it without asking me from whom
I’d heard it or why. “What could possibly happen?” he asked again.
“A million things could happen. But I can’t promise you that any
of them will. I can’t give you any reasons and I can’t tell fortunes,” I
told him.
“Then you’re crazy,” he said. “Stark crazy, selling that stock
without rime or reason. You don’t know why you want to sell it?”
“I don’t know why I want to sell it. I only know I do want to,” I
said. “I want to, like everything.” The urge was so strong that I sold
another thousand.
That was too much for my friend. He grabbed me by the arm
and said, “Here! Let’s get out of this place before you sell the entire
capital stock.”
I had sold as much as I needed to satisfy my feeling, so I
followed him without waiting for a report on the last two thousand
shares. It was a pretty good jag of stock for me to sell even with the
best of reasons. It seemed more than enough to be short of without
any reason whatever, particularly when the entire market was so
strong and there was nothing in sight to make anybody think of the
bear side. But I remembered that on previous occasions when I had
the same urge to sell and didn’t do it I always had reasons to regret
it.
I have told some of these stories to friends, and some of them
tell me it isn’t a hunch but the subconscious mind, which is the
creative mind, at work. That is the mind which makes artists do
things without their knowing how they came to do them. Perhaps
with me it was the cumulative effect of a lot of little things
individually insignificant but collectively powerful. Possibly my
friend’s unintelligent bullishness aroused a spirit of contradiction and
I picked on UP. because it had been touted so much. I can’t tell you
what the cause or motive for hunches may be. All I know is that I
went out of the Atlantic City branch office of Harding Brothers short
three thousand Union Pacific in a rising market, and I wasn’t worried
a bit.
I wanted to know what price they’d got for my last two thousand
shares. So after luncheon we walked up to the office. I had the
pleasure of seeing that the general market was strong and Union
Pacific higher.
“I see your finish,” said my friend. You could see he was glad he
hadn’t sold any.
The next day the general market went up some more and I
heard nothing but cheerful remarks from my friend. But I felt sure I
had done right to sell UP., and I never get impatient when I feel I
am right. What’s the sense? That afternoon Union Pacific stopped
climbing, and toward the end of the day began to go off. Pretty soon
it got down to a point below the level of the average of my three
thousand shares. I felt more positive than ever that I was on the
right side, and since I felt that way I naturally had to sell some
more. So, toward the close, I sold an additional two thousand
shares.
There I was, short five thousand shares of UP. on a hunch. That
was as much as I could sell in Harding’s office with the margin I had
up. It was too much stock for me to be short of, on a vacation; so I
gave up the vacation and returned to New York that very night.
There was no telling what might happen and I thought I’d better be
Johnny-on-the-spot. There I could move quickly if I had to.
The next day we got the news of the San Francisco earthquake.
It was an awful disaster. But the market opened down only a couple
of points. The bull forces were at work, and the public never is
independently responsive to news. You see that all the time. If there
is a solid bull foundation, for instance, whether or not what the
papers call bull manipulation is going on the same time, certain
news items fail to have the effect they would have if the Street was
bearish. It is all in the state of sentiment at the time. In this case the
Street did not appraise the extent of the catastrophe because it
didn’t wish to. Before the day was over prices came back.
I was short five thousand shares. The blow had fallen, but my
stock hadn’t. My hunch was of the first water, but my bank account
wasn’t growing; not even on paper. The friend who had been in
Atlantic City with me when I put out my short line in UP. was glad
and sad about it.
He told me: “That was some hunch, kid. But, say, when the
talent and the money are all on the bull side what’s the use of
bucking against them? They are bound to win out.”
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebooknice.com

You might also like