|
改了一下,这次运算应该没啥问题了; c* Y' K$ f. u0 h
9 A. K! {0 s/ B" Z0 ]% q; o6 J! X. W
1 K. L. H, q m; Y Q2 I2 ncapture program drop hello
8 t. C' C/ [5 M
0 Y* l# c: B5 ?$ p1 W. \8 \program hello2 }4 g! d: S0 Y* `# Z w* l
' z* ^* ?! c$ j' _ quietly {& R* y. z( y j6 s" f' F0 Z6 d
. I/ H. M4 v+ z5 b1 Wclear- Z/ N, G0 P3 c
7 H* ? x' M7 _- n. n- S9 wcd e:\finance\stock\20110101\source
" I; A4 d9 h" V/ r
9 v' ^- V3 H- ?- }insheet using `1'.txt
* u: E0 }3 P, | p. ^" ~; Q
+ l. G4 x, E$ g: t$ H+ } keep if v5>08 e! a6 E$ `" }! s1 s5 H
" r/ M5 l j! ]* j/ [ F9 ^3 t* h X gen vt=_n
+ g V8 n: X3 T# y; K
3 p5 M, j9 }# I0 b9 H& ^' ~ tsset vt' o; E9 q& ~: `$ S3 v2 z4 ^8 B. B! i, B
' G7 N5 g$ V1 Y& C" j* u: _& G2 | gen zf=D1.v5
2 w, ?+ O/ c; u* b" P+ i
" h3 h) f/ i _ gsort -v1& u: X1 G5 e" q8 t+ `/ `* h$ T4 @
" v* G( L8 w1 }( q, K4 p! C2 N gen avol=v7/v51 |; D1 m1 E! q/ M- K* W( r8 z
2 x* z, C% ]4 v, f+ L( `
keep if avol>0, t7 c9 x9 ]' J4 g3 f w$ D: |
7 N: t, q$ v/ T) t" U; q
drop vt1 Q( M1 r) |% Z4 h! E$ q
5 X, R+ A ^1 @8 M3 K0 D; b4 N9 V+ T. g
gen vt=_n
2 \8 z0 [7 K% M+ E+ Q/ J6 L % }* Y4 K0 v' @9 ~
tsset vt+ ^7 N: S2 ^/ Y' Z/ z
3 b8 Q( Q* B( ?* @5 r sum v5 [aw =avol]
! z( _) D) b3 y* P9 n1 _$ ~* \ W. T3 s$ z7 } d
gen amean=r(mean) in 1
Z8 \! _* [. {; {: C
: }1 }3 M1 b& ~. [0 b6 M8 Z * 总加权平均值 amean' d9 m/ k6 Z' z/ G3 R
3 f' V9 V$ a8 N# y( |# n3 o. {
; A( c( | R& H" F5 V! x/ x, g5 v0 A keep in 1/2402 |7 m# g) g6 K
) D* [; k+ U- ~# |7 K( |/ L+ ?
sum v5 [aw =avol]
8 S$ `, {) ]3 }7 |# m# `: ~$ A, u
gen mean240=r(mean) in 1
) G: L% @% M+ ~
$ R1 O$ f# w Z8 ] *240加权平均值 mean2405 p0 w* C! G2 @ S
! \$ i; T! G0 G7 g4 |$ z+ m
set obs 500
% |" D' L: f" w! o4 m5 b
7 | u# Z' ^! M; [7 k kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
! X' f; ]' G2 k$ y0 l
; A& d W6 U& y8 _ *240 kdensity(dx240 dy240)7 e1 { h2 Q8 A& o; N5 {$ M2 Z
% z( I8 O m, V% T
sum dy240* |# w" C( g' I# R/ R/ Y
5 b" C- |9 }, a( k" A! j) E* b! s
gen yxis=r(max) in 1; U$ X* d2 B( v( p
+ D5 k8 F+ f0 U' r' k3 f& A; l gen yxis2=yxis/2
8 e$ y% T9 u1 [/ w5 U+ V% i8 Q: R& L
; Z& I1 F7 }! J- t+ C) R5 e *yxis& E7 z# ^ N7 t! ?
) J6 P$ H% z- J# ?& {! F gen dy240max=r(max)0 r/ k) d% Y( ?; M2 x& n# v
! }. a5 _& I' |, C# l$ x gen dy240minp=r(min)
9 J/ ]3 t( W. C! {
/ @# T9 a, r9 U( A, G( P1 l: L gen vtt=_n* }$ ]7 A A* @
8 f0 \; e0 B5 `6 V" b i7 j8 i& o! \ tsset vtt
7 X( g/ E8 m3 F9 F" a& M' `- a/ e2 u' X+ u2 O8 Z0 F; H
gen ddy240=D1.dy240/D1.dx240, @3 j8 K6 m! z
; U, }+ R; m |7 | sum ddy240
2 m1 m# Q% m5 A/ R- W- k . K; {' `9 N0 S B( x
gen ddy240max=r(max)
; n4 V. B g, s, L3 U) ?' U* @9 d! B
6 ~# u" P6 K, O' N5 ~' [5 v gen ddy240min=r(min)4 N; p( ?3 k9 m) J$ o: [
- B) z5 f; {- t0 G
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)& M2 j2 c. A9 K5 U# V- F
% x, M7 f* f* H. L) Z$ ?( g sum ddy240g
% i. @2 B# |: s) J" n# j2 i
* K) l5 U) d0 g. z) |+ J+ G# |0 Q gen yxis3=r(min) in 15 U5 r3 k* Z: L" h
3 U: @0 @7 _# m( d! ?% Q% ~( m/ T gen yxis4=0 in 17 D; D9 p8 w5 n8 j9 u. O
- ~1 c; o1 T" }- z4 M6 q
*ddy240g $ o1 o9 ]! ]0 ~9 j& x; l
) x& B3 W# U+ s
/ f" a4 v X! F" ] ~+ {+ C' P preserve
1 ]) C$ O5 c8 C
/ |- j" ?+ H; B0 J# ~ sum v5 [aw =avol] Z' y$ g7 o9 Q; J$ |7 r
& f, U) g9 r B, _
keep if dx240<r(mean)
1 R* w/ ]/ m6 Q G$ E. {
+ V) a0 D" u6 j2 k# A% G, e sum ddy240
1 f0 d" b, s" D" L
3 r7 A0 Q( j f if r(min)<0 {
2 B4 h5 G& ?% O
0 M7 T, ~, }' U, J keep if ddy240<=06 d, e/ i$ T4 a) r) p* _: h
+ n" }( R# V) s1 H* u g* @& Q" ?: t
count, `1 w$ j. w+ t# M/ z( E
6 H& Q9 K/ \: _" B+ T4 n& B }
if r(N)>2 {
% T* x( X: q, B" ]
$ n3 |2 ]' ^5 _1 B0 w pkexamine dx240 dy240
5 X: l! H* Z6 X$ q& ` " {" s2 r7 v# t: T
local tempminp=r(tomc)1 C7 z( e& ~7 v# d, D
restore
$ H0 M$ u3 t7 D }& c* t' D. v) d% `* n
- {" s3 n A' k9 u* y* N
else {& w! ^5 h7 N$ \1 q
$ u9 [$ }% Y1 y7 p
di "cannot find minp"
5 Y. C) a) K+ C* R 3 Z8 h( e6 k- [0 R
restore
% U; r6 E* A3 z/ d! ?( Q sum dx240
% V0 V$ G- t5 A) @ E local tempminp=r(mean)
, d1 G) O0 S2 M 8 w, z2 G; Y0 G/ E: ]' w
}
: R! }% O0 e. e2 W$ p }
0 \/ A9 J9 I' W; m6 y- y else {
7 {; }+ |7 v" F/ ` q% }5 U
; I4 M! N7 e* E1 ^2 F' Z3 Y keep if ddy240<=r(min)7 P) [3 D1 G; V0 Q7 a! T2 M7 G; x
) L) ]! W) n- I; h( m
sum dx240 g: q, ]4 A. S) Q) p, Z
$ d% T+ G& u' S* ~
local tempminp=r(min)1 ?, ]2 _/ L( W! \4 X5 `$ C2 b
restore
$ s+ Q7 g) @: q7 ~ }
+ a; G- G. V6 M E! G8 d2 `7 g- q2 t. ^
6 R' y3 X4 j7 ?$ Q
0 ]+ ~2 P: s4 Z& Y6 P& M( s gen minp=`tempminp' in 1! s* ?7 z6 t& q, A. I) o
*240 minp4 }: J8 V! Y5 b& e
" S5 b6 T# t. N# a) g0 |
& C$ @, M) z6 I7 X$ T0 w
1 m3 |. @! `* v' p, A+ o( r$ U preserve ; t9 H. p, w; G0 B2 U5 H, C
% w5 m! \; \4 K sum v5 [aw =avol]9 C- D" V. V3 n8 A8 U* s8 ^
9 |8 |+ b7 Z# P. E, v9 a7 q keep if dx240>r(mean) v$ s. n' [/ A$ o, V: ?. b
7 d/ a4 \' o# S" f* Y% X
sum ddy240
4 ?2 M U- F p4 k( K4 S l
& B& }0 Y8 c1 ^: t' ?3 `% \ if r(max)>0 {2 ]9 t* n, K i- F- z
! T# k/ v8 q+ J6 ~% @: j keep if ddy240>=0
6 U0 g0 M6 _# ?. G( ]) N- D, a1 C
& H. p( m3 D/ k) r- F' ]% I count0 X( F: B, T; n1 v# b8 L, @
# D: ^( }1 H8 k& c
if r(N)>2 {
/ A7 h0 ?5 v) w- z4 U
* G$ e& L" x2 n7 e7 u pkexamine dx240 dy240
" B0 @2 g) t8 G) v $ X* c& B2 f! k1 n( m, N6 v5 @
local tempmaxp=r(tomc) : _7 G& [9 U! ?' @# V; P! n& m
restore - w" u& u" R' \% Y1 U. e
}
' o# P" q2 w' G& d0 S8 z' d 0 u& l4 ~) w8 z$ v `% ^
4 K. |2 i2 \ s% @, c' W) W else {
+ T# M4 C: a$ }2 H% C& v restore 7 f, _( ]5 q( f* t/ ~
di "cannot find maxp"% t3 s, o2 {0 h' T! ~4 f! _
4 s+ d" u( {; I8 ^
) A# F; r; H& e. ]1 }$ L) e# c. f' p sum dx240
% k0 d7 l8 R: @ local tempmaxp=r(mean)
+ ?# Z/ s0 z: J* X+ M
8 ~ x4 \3 n$ o. O5 w }5 @: V: @6 `8 p H/ S w/ p+ s
& c9 V9 t$ c" @$ V$ H
}
( S- N4 b4 `) ?
& X( d! E( v% V8 Z/ U" {/ W else {
8 @* c: \( c) v / w9 j3 q! C& P
keep if ddy240>=r(max)2 I8 d, |0 n5 T. e5 K. M
; C/ z" S- h9 c$ I. z7 Q$ \ sum dx240* b v1 F5 Z' K: ^+ I# X
8 L+ f( Q# n3 E% Q5 E+ B
local tempmaxp=r(max) ( {% ^# f8 N! j; w" [6 W9 Q0 E8 M4 E/ s
restore 1 O/ l- x+ I& ?+ g3 H' f) u
}
: H3 z8 q' M* S. t0 F
$ ^/ G) U/ c5 {% E
, \2 x( H" S1 h" w
1 p" d; P4 o7 |1 ?6 U! o
o% r5 b( f2 I gen maxp=`tempmaxp' in 1& R% O9 g5 c4 `$ T- R2 l: j I
, A; n9 p/ _ J1 _ *240maxp0 u2 ~( Y" I# f2 L2 D
* E% T. y ^0 F1 l+ m3 h7 ?
! L' c) I2 D( m9 Q5 P: l5 g *-------------ddy240pminp左侧高峰值-----" k- }) G: a, |2 M+ N' H% r
: L) `% _7 V1 K( O4 {: h; k% D2 \ preserve / Q" r( }( C) ?' N$ l& T
0 A2 t4 y4 {8 ~& E4 m5 V' l
keep if dx240<`tempminp'
0 P9 ^( {# y, I9 o* f8 R : q' E9 p' I/ a, U' Q- q
keep if ddy240>0) V% o+ B8 V) _" G% }
4 X8 S+ V6 _' @, G; { count
- q2 }4 r4 D! e% v4 E) \ 4 u9 ]8 B8 l/ R
if r(N)>2 {
9 i/ j( ]( g h& v % @" k1 X* D; ?. W H8 u" K
pkexamine dx240 ddy240
$ q" e9 M, G6 E ' j+ \2 Q& K5 e/ Z* v
local tempminphddy240=r(tomc)
# z/ L% i. W1 f7 r! n0 } restore
( S; ?. i0 |! X- K; T3 M& [ }
; B- Y8 Z, }5 r' t6 ~3 z* v6 p k , d! D ?/ P6 C8 h5 w
else {
. ?: p. q' |; W0 N. i1 B restore ; e7 ~) |1 s& H0 X" l
di "cannot find pminphddy240"
& J6 |/ y3 ~. x( }# J( n/ \8 R/ q* b6 | 8 z% P& p0 P+ n+ J. g
: M9 n3 E& W; l1 j) d0 V. F
sum dx2409 Y; R, P" q7 `1 g. s
local tempminphddy240=r(mean) 4 S8 O5 C0 s' S1 v! E! Q) G) F
O% O) o) v1 Y3 u6 i4 K' E+ T
( U4 N Y w! B' O8 ?
}& c# r( `: k$ l: Q$ Z/ P9 l
2 c9 O4 d; J: y' ?. U/ o" b
6 Q; g$ n" P+ ?6 |* O/ I
2 j( J" K9 |- w- I+ a+ s5 H6 u
: A/ C ]6 y- S8 @: A w 2 H' u, s/ A$ S* ?
/ F! Z6 \: Z% c w* l' V: n
gen pminphddy240=`tempminphddy240' in 1
$ v( U$ }8 F1 {, B
$ y2 u1 Q' t) v D# Y# O: A8 S 6 j/ h/ }8 F1 Q# ?
*-------------ddy240pminp右侧低峰值 -----------------
2 [3 H, _' K+ X* m; I preserve 1 q! t& n9 ^0 N
A7 M* {, _& j' W
keep if dx240>`tempminp'8 M* E' I% |# [* ~9 A+ E; D* {
, @/ K5 ~2 s, K
keep if dx240<`tempmaxp'% K }0 j2 o( [
B: |5 N2 C% X- t7 H3 B keep if ddy240<0
+ F$ I( c K, B+ m2 a! f
6 a3 v9 g0 ]5 }& F1 u4 ^4 h" _ gen temddy240=-ddy240$ j# y) @. B& C* r( `6 E
d; O) K/ C; N; A/ U
count
% l7 a1 _, y! b6 s( q( f1 G 4 E9 B. D, w. z% \4 h2 e- z" ?+ e$ k
if r(N)>2 {
) e# M9 R2 b( w7 E6 M6 J
) F" j4 k9 k8 J4 Z* [ pkexamine dx240 temddy240
2 @3 |" \+ ?0 b5 @' c8 g" s
- ~$ e$ S! K2 O8 J. W local tempminplddy240=r(tomc)
2 L7 H6 D- @$ W/ U% I restore0 r0 ^# T, y& i8 b5 X
}# L2 e! \' f |6 M, o4 e
4 W0 \3 \8 G8 w( T! O2 T: q8 i& Z else {
" f$ e5 y8 a% n: I + W$ O D0 S: m0 T
di "cannot find pminplddy240"
" d x6 F6 G" o( @$ m/ Y2 \# P restore
! M8 d8 |# \6 x. E+ F, I- K & h9 {$ n& Z* `2 D7 N% v
sum dx240( ~: { D% y- Z' w
local tempminplddy240=r(mean)
" b% Q; q2 [& n+ X, n 0 h( b& H. Y8 ^5 h8 M- T
) R$ R, c; B/ h+ x! u# S }; c3 D a% g3 T7 f8 @ s
" I9 \+ j" y6 s& ?$ L6 ?
% D, C7 Z1 I# @6 |3 M
2 ?6 ~1 x4 i& T
+ C$ s: A' _# u q ) G5 D. c# G3 T/ r
gen pminplddy240=`tempminplddy240' in 1
# B) ~/ `+ ~0 _: s4 ~8 {, E
; D$ [, R, s( a0 l, ^ *-------------ddy240pmaxp左侧高峰值 ------------------- J! ] h8 U3 W m0 b0 C3 |
& M+ v7 n2 u H: [ preserve
( U$ {6 {& B& ^: \% s) g8 F6 u
& I; Y( W# s* l( Y* S4 c- D keep if dx240>`tempminp'6 \$ }& }% j7 S2 L
. L" f6 G) g/ R1 z/ a keep if dx240<`tempmaxp'
( O* A$ f4 I( V: r# _2 I9 [
2 a8 I( U$ y/ c8 g' T keep if ddy240>05 M: {7 i0 T" L: ^! `. V9 Q
count
+ X; c/ E5 O4 E( Z8 d7 ^ ; w2 o8 n* l. y8 f5 }& d
if r(N)>2 {; i; x- t% P% N: N
5 K0 S* \8 Q/ X. l
pkexamine dx240 ddy240. T" w$ _$ Q. K1 {) G' a9 T* t8 Y# B
* p: }% ^6 i/ N
local tempmaxphddy240=r(tomc) & D$ j; y9 G3 v
2 D# L6 A/ f! } restore
1 l$ {' b1 }* R. ~. @ }
+ u5 K: g& C8 \! s6 ?( ~6 u: ]
# y/ ~: r5 r- I: L# s7 N else {- I5 k: z+ f& Q$ b/ I( U
- a0 Q& _3 ], i4 t4 Z) t di "cannot find pmaxphddy240"
, U" v( E7 ?, }4 o h. ` restore
0 V4 x5 U+ P6 `) X
1 c) V' D. n0 N; f1 @8 i4 L3 e+ g$ ? sum dx240- s8 c, A' S ]0 \; R- |
local tempmaxphddy240=r(mean)
3 u( k- ~( @* p5 |5 S/ H
6 Z0 m9 R2 u) { 7 o+ H! e, X0 j& L6 H3 K
}. A: e; l) g; j3 R
) _8 C8 O5 f; X8 p! E" t) h1 @
0 }7 Q0 w$ ]' h1 p- `- F
/ X0 `! l* t6 S6 c6 Y2 {" W- @ / k8 r$ ^) _) R8 }) P
, P+ [+ a5 Y& R6 Z/ o# [3 k. l# S' B
2 p$ i0 w8 K3 \ ]/ j* s gen pmaxphddy240=`tempmaxphddy240' in 1
+ S/ b; f* J! F
6 b& e9 y0 }/ z
- ~8 L ^/ ]7 K6 S+ G' ? *-------------ddy240pmaxp右侧低峰值 -------------------
# Y3 r5 F7 q1 M* r. y( \ ; w& f+ k/ _1 U3 K
preserve * j+ T9 D7 T6 ?7 ~5 t; I
0 x/ K9 Y# e2 v+ c b8 S# n3 d keep if dx240>`tempmaxp'! J$ r! l% K: P$ r8 r, N, K- H
8 h/ j5 M8 G; a/ g gen temddy240=-ddy2400 Z* a8 w6 D- E5 e% e1 d
$ s- l9 Y0 s2 t6 S' p
keep if temddy240>0; C9 A7 S' D. T8 v2 J" m# w7 d
% {7 u8 V! v: L# ~ count0 @! U( q8 I5 H' S" _- O6 w( @
1 r2 J U/ Y# C0 Q+ h2 I
if r(N)>2 {8 ~; h2 {2 y1 l% ?
! Y: @( K. r* i0 T1 L+ ~
pkexamine dx240 temddy240
: s/ g* ?" W- ^! G4 f& E 0 v! l# ~. W' P- Y/ A
local tempmaxplddy240=r(tomc)
0 ^' G( l& a% S restore7 S2 @: w5 G8 C2 I. ~( h6 f: g$ D: i
}
/ H8 E8 |8 M* }; q
3 V# O3 c# L5 X' C+ _8 G) i else {
8 M8 b& Q" Y8 f% z$ @+ V restore) T1 \+ e' L& M/ x6 A& W3 V( o4 `
di "cannot find pmaxlhddy240"2 A/ C0 v. Q' e) X
; X x J" x& w# y( W+ n
2 `8 r1 u, E8 n V$ E* Z
sum dx2401 T" m& ?' A/ \" J
local tempmaxplddy240=r(mean) in 19 v- x7 y" Y3 B$ z n0 [7 f
* m& [, l( N2 W! b( t 4 S8 }7 B& A- Q# I+ t$ X; S
}
& ~! p# D$ t2 H
, s* Q* X) U8 T3 B 9 r- H( `+ e4 U2 d
9 v8 t! U" \ O" }. V( V. @
4 {8 Y6 f/ O6 M# G# j; J! x
. _* p% W2 R$ |; N0 i# [ ( a+ j2 N4 i' D v8 S
gen pmaxplddy240=`tempmaxphddy240' in 1/ J2 A% u8 a; y7 b. r" `
# C+ p. y; ?/ j9 d' K+ F+ E0 X3 O
*-------------------------------------7 N" o. p$ L( R* F- V5 g2 T
+ a& t& S' _7 h# o# j
gen price5d=v5 in 1/20
# Y. |2 r* [5 O+ l- T 8 \2 R, E8 k' F; B
gen price5yy=_n in 1/20
) _, w* h" F# W; A0 f' b # U @$ d( f) R0 a
gen price5y=price5yy*(dy240max-dy240min)/208 N& U% i5 i& w* [* x
, r2 z* E% e1 U2 S
*price5y &price5d
/ W0 U* g$ k( K3 [+ W( M 4 ^" |9 g! u' c. O7 g6 d$ D8 N7 h
gen priceny=price5y in 1
: q! Z& h) p5 D& d- K. S0 Q4 b* U
( a; E. R ^3 O, u gen pricen=v5 in 1
0 z8 M% _: ~1 n1 B1 I
1 p9 g, \# P; W) x% b* Z2 i
( n! d# m5 h& N8 X' Y) r *priceny &pricen: W7 f5 L& [) M- Z# S# B1 [# y
; M+ ]; z2 J- l8 o8 _
4 }# i0 }0 z( H3 I *-------------------------graph------------------: z9 R! n$ A0 i
$ d5 _; u& v; p5 f( O7 b
tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)" i! f: G9 T* a+ ~+ @
: _3 q; s. W S% C, ?1 a" p* ---------可选项目----------------------
) \: ]2 w6 j% Y' E
7 s/ M$ _$ @9 g7 X0 \. J' _( m}0 D7 Y/ j. x! f7 O2 j/ ]& C
end+ M, E7 d. m1 |) i, L
|
|